SlideShare a Scribd company logo
1 of 62
Download to read offline
Editor in Chief Dr. Haralambos Mouratidis


International                   Journal               of         Computer
Science and Security (IJCSS)
Book: 2007 Volume 1, Issue 2
Publishing Date: 30-08-2007
Proceedings
ISSN (Online): 1985-1553


This work is subjected to copyright. All rights are reserved whether the whole or
part of the material is concerned, specifically the rights of translation, reprinting,
re-use of illusions, recitation, broadcasting, reproduction on microfilms or in any
other way, and storage in data banks. Duplication of this publication of parts
thereof is permitted only under the provision of the copyright law 1965, in its
current version, and permission of use must always be obtained from CSC
Publishers. Violations are liable to prosecution under the copyright law.


IJCSS Journal is a part of CSC Publishers
http://www.cscjournals.org


© IJCSS Journal
Published in Malaysia


Typesetting: Camera-ready by author, data conversation by CSC Publishing
Services – CSC Journals, Malaysia




                                                              CSC Publishers
Table of Content


Volume 1, Issue 2, July/August 2007


Pages
1-9                An Evaluation of Maintainability of Aspect-Oriented Systems: a
                   Practical Approach.
                   Avadhesh Kumar, Rajesh Kumar, P.S. Grover


10 - 17            Congestion and Flow Control in Homogeneous and
                   Heterogeneous Networks: Discrete Event Simulation Model..
                   Manoj Devare, Ajay Kumar


18 - 34            Analysis of parameter for Local Colour Scale in Ion Trajectories.
                   J. M. Sharif, M. S. A. Latiff, M. A. Ngadi


35 - 44            New Particle Swarm Optimizer with Sigmoid Increasing Inertia
                   Weight.
                   Reza Firsandaya Malik, Tharek Abdul Rahman, Siti Zaiton
                   Mohd. Hashim, Razali Ngah


45 - 51            Mathematical Morphology Approach for Genuine Fingerprint
                   Feature Extraction.
                   Vikas Humbe, S. S. Gornale, Ramesh Manza, K. V. Kale



International Journal of Computer Science and Security (IJCSS), Volume (1), Issue (2)
52 - 57            Managing Component-Based Systems With Reusable
                   Components.
                   Arun Sharma, Rajesh Kumar, P. S. Grover




International Journal of Computer Science and Security (IJCSS), Volume (1), Issue (2)
Avadhesh Kumar, Rajesh Kumar, P.S. Grover




          An Evaluation of Maintainability of Aspect-Oriented
          Systems: a Practical Approach


Avadhesh Kumar                                                               avadheshkumar@aiit.amity.edu
Amity Institute of Information Technology
Amity University
Sec-125, Noida, India

Rajesh Kumar                                                                                    rakumar@tiet.ac.in
School of Mathematics & Computer Applications
Thapar University
Patiala, Punjab, India

P.S. Grover                                                                               groverps@hotmail.com
Guru Tegh Bahadur Institute of Technology
GGS Indraprastha University
Delhi, India

                                                        Abstract

Maintenance of software systems is becoming major concern for software
developers and users. In software projects/products, where software
changes/updates are frequently required to improve software quality,
maintainability is an important characteristic of ISO 9126 quality standard to
evaluate. Analyzability, changeability, stability, and testability are sub
attributes/characteristics of maintainability in ISO 9126. In this paper,
changeability is measured by making changes at code level of an Aspect-
Oriented (AO) system. The approach taken to evaluate the changeability of an
AO system is to compute the impact of changes made to modules of the system.
Some projects1 in aspect-oriented programming (AOP) language, AspectJ, have
been taken for testing. The results suggest that the AO system can easily absorb
changes and AO design metrics can be used as indicators of changeability as
well as of maintainability. The results also suggest that a code level change in
AO systems not always cause less change impact to other modules than a code
level change in Object-Oriented (OO) systems.


Keywords: Software quality, maintainability, changeability, AO system, AO metrics, AspectJ.


1
 Original three different projects were developed using object-oriented programming language Java/Servlets for a
university with logging facility, chat facility, student result, etc. These projects are having 129 classes. Same projects are
re-engineered to aspect-oriented programming using AspectJ. AO projects are with 149 modules (classes and aspects).




International Journal of Computer Science and Security, Volume (1): Issue (2)                                               1
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



1. INTRODUCTION
Software quality refers to the conformance of the product to explicitly state functional and
performance requirements, documented development standards, and implicit characteristics.
Quality of software project/product is characterized by certain attributes, which are highlighted by
ISO standards. An example of such standard is ISO 9126.

ISO 9126 is a standard that provides a generic definition of software quality, in terms of six main
desirable characteristics:     functionality, maintainability, usability, efficiency, reliability, and
portability [1, 2]. Extensive studies have shown that maintenance is one of the major cost
concerns, as a matter of fact; a growing cost concern [3]. Maintainability has further four sub
attributes, analyzability, changeability, stability, and testability. Out of these, changeability is the
most significant from the point of view of organizations, as most organizations use software,
developed by other organization(s). It need not bother about any other attribute, except
changeability. When we make changes in a program at various levels, such as design, code, and
architecture and so on, then how do these affect the quality of the software? Carrying out the
impact analysis based on the various changes made can evaluate this.
Maintainability of a software system depends on its design [4], which depends on the software
design approach that one uses. Salient design approaches are: Module-Oriented (MO), OO, and
AO [5, 6]. MO and OO paradigms have been used quite commonly and well-accepted in industry.
Each has its own limitations and range of applicability. One of the major constraints has been the
spread of concerns over various modules/classes (cross-cutting concerns). This leads to program
codes, which are difficult to maintain and understand [7].
Aspect-Oriented Programming (AOP) is a new approach for separating concerns into units called
aspects. An aspect is a modular unit of crosscutting concern implementation. It encapsulates
behaviors that affect multiple classes into reusable modules [8, 9]. We implement AOP by OO
language (e.g. Java), and then we deal separately with crosscutting concerns in our code by
implementing aspects. Finally, both the code and aspects are combined into a final executable
form using an aspect weaver. As a result, a single aspect can contribute to the implementation of
a number of methods, modules, or objects, increasing both reusability and maintainability of the
code. The original code need not know about any functionality of the aspect that has been added,
it needs only to be recompiled with the aspect to regain the original functionality. It is being
argued that AOP will lead to better quality software.

Most research work on change impact assessment has been carried out on MO and OO software
[10, 11, 12, 13, 14], whereas AO approach has not been studied to that extent. Zhao [15] did
some work in this area based on program slicing technique, but has not applied to realistic
systems. Avadhesh et, al.[16] have measured changeability characteristics only for operation
signature change, not for other members of the module and changes at system level. We have
explored this problem incorporating code–level changes for all types of members inside module
as well as at system level of AOP. Our technique to assess change impact for AO systems is
different. We have used new terminologies for class(s) and aspect(s) as modules and for
method(s) of class and advice(s)/introduction(s) of aspect as operations. A change in access
scope, data types, operation signature etc. will impact other modules. We evaluated change
impact on modules occurred due to a syntax change in code. We have taken projects developed
in AspectJ, as a case study.

2. RELATED WORK
Characterization of design is mostly done through metrics. According to Rombach, architecture is
more influencing than algorithmic design on maintainability [17]. For AO design, many design
metrics has been proposed and published. Ceccato and Tonella [18] have proposed metrics,
which include ten different metrics for AOP: Weighted Operations in Module (WOM), Depth of
Inheritance Tree (DIT), Number of Children (NOC), Coupling on Advice Execution (CAE),
Coupling on Intercepted Modules (CIM), Coupling on Method Call (CMC), Coupling on Field
Access (CFA), Response for a Module (RFM), Lack of Cohesion in Operations (LCO) and
Crosscutting Degree of an Aspect (CDA). Zakaria and Hosny [19], proposed the effects of AO on



International Journal of Computer Science and Security, Volume (1): Issue (2)                         2
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



the C&K metric suite, which are: Weighted Methods per Class (WMC), Depth of Inheritance Tree
(DIT), Number of Children (NOC), Lack of Cohesion in Methods (LCOM), Coupling Between
Objects (CBO), and Response For a Class (RFC). Zhao [20] has defined another set of
complexity metrics in terms of program dependence relations to measure the complexity of an
aspect-oriented program from various viewpoints. Once the dependence graph of aspect-oriented
program is constructed, the metrics can be easily computed in terms of dependence graph.
According to Zhao, following are some salient metrics type designed to measure complexity from
various viewpoints:
        Module-Level Metrics: Module-level metrics are designed based on advice dependence
graph (ADG), Introduction dependence graph (IDG) and method dependence graph (MDG).
         Aspect-Level Metrics: Aspect level metrics can be defined for an individual aspect
based on its aspect inter-procedural dependence graph (AIDG).
        System-Level Metrics: System-level metrics can be defined at the whole system level
based on aspect-oriented system dependence graph (ASDG).

Li and Offut [21] proposed algorithms for calculating the complete impact of changes made in a
given class. They explored the effects of encapsulation, inheritance, and polymorphism. Hsia et al
[22] studied the effect of architecture on maintainability. They measured maintainability and its
relationship to architecture, especially broadness of the architecture trees. As a result, they found,
that maintainability is better for systems with broader trees. Chaumun et al [23]’s change impact
model for changeability assessment in object-oriented software systems is applied to programs in
C++. In this work, for each of the possible changes identified in C++, the impact is calculated so
that necessary actions may be taken to ensure a successful system compilation after change
implementation.

Jingyue Li et al [24] have studied how AOP eases the adding and replacing the components in
COTS-based development. When adding or replacing a COTS component, the main benefit of
using AOP in a COTS-based system is that fewer classes need to be changed that using Object-
Oriented Programming (OOP). However, using AOP does not ensure that less Lines Of Code
(LOC) need to be modified when adding or replacing COTS components. It depends on whether
the crosscutting concerns in the glue-code are homogeneous. Using AOP when crosscutting
concerns are heterogeneous may not be benificial.

3. ASPECTJ
AspectJ [25] is simple general-purpose extension to Java that provides, through the definition of
new constructors, support for modular implementation of crosscutting concerns. It enables plug-
and-play implementations of crosscutting concerns [26]. AspectJ has been successfully used for
modularizing the crosscutting concerns such as synchronization, consistency checking, protocol
management and others. AspectJ supports the definition of aspects’ join points, pointcuts, advice
and introduction [27].
     Join points: Join points represent well-defined points in a program's execution. Typical join
points in AspectJ include method calls, access to class members, and the execution of exception
handler blocks. Join points may contain other join points. For example, one method call may
result in several other method calls before it returns.
      Pointcuts: Pointcut is a language construct that picks out a set of join points based on
defined criteria. The criteria can be explicit function names, or function names specified by
wildcards.
     Advice: Advice is code that executes before, after, or around a join point. You define advice
relative to a pointcut, saying something like "run this code before every method call I want to log."
Introduction: introduction allows aspects to modify the static structure of a program. Using
introduction, aspects can add new methods and variables to a class, declare that a class
implements an interface, or convert checked to unchecked exceptions.




International Journal of Computer Science and Security, Volume (1): Issue (2)                       3
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



4. CHANGE IMPACT ANALYSIS
Change impact analysis is the task through which the programmers can assess the extent of the
change, i.e. the software component that will impact the change, or be impacted by the change.
Change impact analysis provides techniques to address the problem by identifying the likely
ripple effect of software changes and using this information to re-engineer the software system
design [28].

From the viewpoint of separation of concerns in software development, change impact analysis
can be performed at many levels of software systems during software evolution, at the
specification level, design level, architecture level, code level etc. Our work is focused on code
level change impact for AOP and the language for this work we have chosen is AspectJ.

4.1 Code Level Changes in AspectJ
Following are possible code level changes in AspectJ:
    4.1.1    System level change                    4.1.2          Module level change
        • Add super module                              •          Add member
                                                        •          Delete member
        • Delete super module
                                                        •          Define/Redefine member
        • Add sub module                                •          Change member
                                                                       o Change member access
        •    Delete sub module
                                                                           scope
        •    Add a module reference                                    o Change operation signature
                                                                       o Change data member
        •    Delete a module reference                                 o Operation implementation
        •    Add an aggregated module                                      change
                                                               •   Change pointcut
        •    Delete an aggregated module                               o Add pointcut
                                                                       o Delete pointcut
                                                                       o Signature change of a
                                                                           pointcut

With a single change, we are interested in knowing which other parts (operations) in the rest of
the system will be affected by this change. A specific part may be affected, in case it is
‘connected’ to the changed component via some link(s) between them. Following are four types
of links:

  Association (S): One module is referencing data variables of another module.
  Aggregation (G): It is established between two modules when a module definition is based on
  objects of another module.
  Inheritance (H): inheritance between two modules means that the derived module can benefit
  from whatever has already been defined in the base module.
  Invocation (I): When operations defined in one module are being invoked by operations in
  another module.
  We have also considered for impact with in the changed module itself. This type link could be
  represented as ‘Local’ (L) link.

4.2 Change impact evaluation
Module change impact is a numeric value used to express the impact level of one module to
others. It considers the factor of contaminates type and relationships among impacted module.
For example consider a change in the scope of an attribute from public to default. Modules, which
are accessing this attribute from different package, will be impacted but modules, which are
accessing from the same package, will not. Similarly, a change in the signature of a pointcut in
any module will impact all those modules, which have a join point with matching signature of
pointcut. And modules having advice for this pointcut will not be impacted. Adding a new advice,



International Journal of Computer Science and Security, Volume (1): Issue (2)                     4
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



for which there are no join points, will cause no impact to any of the modules and change impact
will be zero.

At this point, we are emphasizing on the type of impact and we are looking for some code level in
AspectJ systems. A given change is characterized by a transformation of the code somewhere in
the system. If the system is successfully re-compiled, then there is no impact. Otherwise, we are
faced with an impact, i.e., code modifications that must be done elsewhere in the system to
obtain a syntactically correct code that will re-compile. Semantic issues relating to the code
transformation are overlooked at this point because they cannot be inferred from the source code
alone. For example, if a variable is added but not used later, we may feel that this addition is
useless. But, from a syntactic point of view, we are indeed certain that the system will stand good
after re-compiling. Furthermore, since our focus is only on system compilation after a change, the
appropriate measures we have to apply are based on impact that is only dependent on the static
nature of the source code.

To calculate the impact of each identified change, a truth table is set up for that change with the
five links appearing in section 4.1. For each row, representing one configuration of these five
links, we investigate whether there is impact or not, and the row is marked accordingly. In some
cases, it may happen that the state underlying the row cannot exist, and the row is left unmarked.
For example, when there is a change in the return type of an abstract method, the rows in which
G or I appear cannot be investigated since neither the abstract class can be instantiated as an
object (G) nor the abstract method can be invoked (I). For each row, the appropriate Boolean
expression is derived and reduced, if possible, and the term “L” is appended if there is local
impact. For example, the change impact formulae for a change to each component type are as
follows: (i) Impact (Attribute deletion) = S+L, means impacted modules will be modules
associated with attribute or local impact (ii) Impact (operation scope change from public to
protected) = IH’, means impacted modules will be the modules invoking this operation and not
inherited modules from the module having this operation. (iii) Impact (Class deletion) = H+G+S+I,
means impacted modules will be inherited or aggregated or associated or due to invocation.

In this paper, we have considered changes at system level as well as at module level. The
primary goal of the experiment is to analyze empirically whether an AO design metric has any
relationship with the impact of a change for the test system. The change considered is the
operation signature change; the Boolean expression of its impact is I, meaning there is impact in
modules where the operation is invoked. The impact is calculated for the operation signature
change on every operation defined in a targeted module, summed for all the operations defined in
that module, and divided by the number of operations of that module. We will call this average
value “change- impact” of the module. The metric chosen to correlate is the WOM metric, which
in our experiment, is equal to the number of operations defined in a module.

5. AOP CHANGE IMPACT: A CASE STUDY
5.1 System tested
AOP projects that we have taken for testing, having 149 modules, are re-engineered using
AspectJ, which originally were university projects developed using Java/Servlets having 129
modules. We extracted the Ceccato and Tonella metrics [15] with the help of the tool developed
and provided by Ceccato and Tonella, for AOP metrics, which computes all the proposed
measures for code written in the AspectJ language. The tool exploits a static analyzer developed
in TXL [29]. The descriptive statistics of the metrics distribution is given in table-I. Waited
Operations per Module (WOM) metric refers to the sum of the complexities of all the operations
defined in a module. We have assumed operation complexity to be one for all the operations or
we can say WOM have been taken as Number of Operations per Module (NOM).




International Journal of Computer Science and Security, Volume (1): Issue (2)                    5
Avadhesh Kumar, Rajesh Kumar, P.S. Grover


                                    Table-I: Summary of AOP metrics for the tested systems
                                      Min       Max         Mean        Median                 Std. Dev.

                   WOM                0.0       17.0        3.2         2.0                    0.33
                   DIT                0.0       2.0         0.36        0.0                    0.048
                   NOC                0.0       26.0        0.31        0.0                    0.25
                   CAE                0.0       3.0         0.45        0.0                    0.046
                   CIM                0.0       1.0         0.34        0.0                    0.046
                   CMC                0.0       6.0         1.39        1.0                    0.144
                   CFA                0.0       3.0         0.22        0.0                    0.592
                   RFM                0.0       4.0         1.06        1.0                    1.131
                   LCO                0.0       7.0         1.04        1.0                    0.56
                   CDA                0.0       39.0        1.0         0.0                    0.381
                                                                              Table-I cont..
We have categorized 149 modules in three groups.
   • Group 1: Modules contain 1 to 2 operations (51 modules).
   • Group 2: Modules contain 3 to 7 operations (62 modules).
   • Group 3: Modules contain at least 8 operations (36 modules).

In our sample projects, Inheritance level is not too high. It is maximum 3 and average inheritance
level is less than 1. Average numbers of operations per module are 3.2, which indicates, proper
decomposition has been taken care.

We have tested 44 modules from Group 1, 40 modules from Group 2, and 20 modules from
group 3 randomly. Most of the changes performed are at module level and few changes are at
system level. Total numbers of tested modules that we have performed randomly in this case
study are 104. On these 104 tested modules, we have evaluated change impact.

5.2 Impact Results
In all 104 tested modules, the change impact numeric value is given in fig. 1. Minimum change
impact is 0.0 and maximum is 7.50. Average change- impact with a single change is 0.77 for all
three projects. Table-II summarized descriptive statistics of the impact results for the modules.
The mean value of module impact increases from group 1 to group 3. In group 1, majority of the
programs are with aj extension (Aspects) and in group 3, majority of the programs are with java
extension (classes). We have calculated statistically values like mean, median and standard
deviation of the change impact values for the modules.

                   Table-II: Descriptive statistics of the impact results for the three groups
                                            Group1                 Group2                  Group3
                                       (1-2 operations)       (3-7 operations)         (7+ operations)


          Total Module Present        51                     62                       36
          Total Module Tested         44                     40                       20
          Impact                      Module                 Module                   Module
          Min                         0.00                   0.00                     0.50
          Max                         7.50                   3.00                     5.33
          Mean                        0.53                   0.64                     1.56
          Median                      0.00                   0.00                     1.50
          Std.Dev.                    0.20                   0.13                     0.28

We have also evaluated correlation factor between metric WOM and change impact, which is
0.41.

Similarly we tested original OO projects, which were developed with Java/Servlets. Out of 129
modules (classes), we tested 104 modules randomly and evaluated average change impact as a
whole for all three projects, and it was found to be 0.87. We also separated above change impact
data project wise and evaluated average value of change impact for OO and AO systems.
Descriptive statistics of the average impact results for the three projects are given in table-III. In


International Journal of Computer Science and Security, Volume (1): Issue (2)                              6
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



OO systems, project 1, project 2 and project 3 are with 29, 64 and 36 classes respectively and
out of these 20, 52 and 32 classes are tested .In AO systems, project 1, project 2 and project 3
are with 34, 72 and 43 modules respectively and tested modules are same as in OO systems i.e.
20, 52 and 32 respectively.


                   Table-III: Descriptive statistics of the impact results for the three projects
                                     Project 1                  Project 2                   Project 3
                                (20 modules tested)        (52 modules tested)         (32 modules tested)


                               OO           AO           OO             AO           OO             AO
     Average        change     0.89         0.75         0.76           0.81         0.91           0.78
     impact



6. RESULTS
 Interpretation of the result is as follows:
  I. Since mean value of change impact is 0.77 for whole systems which is less than 1, which
     means a single change at code level will impact, on average, not more than one module.
 II. Mean value of change impact increases from group 1 to group 3 that means change impact
     increases with increase in number of operations in the module i.e. in AO systems, if number
     of operations per module are increasing then such systems’ maintainability will increase.
     Thus such systems are required to decompose properly.
III. Average change impact in AO systems is less than the average change impact in OO
     systems as a whole that means AO systems are easily maintainable than OO systems. But
     when we evaluated it project wise, we found that in project 2, OO system mean change
     impact is less than that of AO system, that means a code level change in AO systems not
     always cause less change impact to other modules than a code level change in OO system
     or in other words in some cases OO system is easily maintainable than AO system. This
     empirical result may be because of aspect mining has not been taken care properly.
IV. Correlation factor with change impact and WOM is found to be 0.41, which is not too high,
     which means there is not too strong relationship between WOM and change impact. So,
     WOM metric can be used as an indicator for changeability analysis, but not too strong
     indicator for changeability characteristic.

7. CONSLUSION & FUTURE WORK
In this paper, we measured the changeability characteristic of AO software projects. We
evaluated the change impact with real system. Projects that we have considered for testing are
AspectJ projects. The change impact is evaluated for each of the possible code level changes so
that required changes should be made to ensure a successful system compilation after change
implementation.

Result shows that a single change at code level will cause impact to other modules.On an
average change impact value is less than one; this implies that not more than one module is
impacted with a single change or we can say a change is easily absorbable in AO system. By
increasing in WOM metric value, change impact is also increasing. It indicates that with increase
in WOM value, will cause increase in maintainability. Correlation factor between WOM and
change impact is found to be 0.41, which is week. It indicates that WOM can be used as an
indicator for changeability or maintainability but not as a strong indicator.

Average change impact in AO system was found less than that in OO system, which suggests
that AO system can absorb more changes compare to OO system. In other words, AOP are
easily maintainable than OOP. But if at the time of reengineering OO system to AO system,
concerns which are not crosscutting, are mined to aspect, may cause resultant system more




International Journal of Computer Science and Security, Volume (1): Issue (2)                                7
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



complex. In such cases AO systems maintainability will be more difficult than that of OO systems.
In future, this technique may be used to compare maintainability of different AO Systems.


8. REFERENCES
[1]. Jorgen Boegh, Stefano Depanfilis, Barbara Kitchenham, Alberto Pasquini, “A Method for
       Software Quality Planning, Control, and Evaluation” IEEE Journal, pp-69-77, March-1999.

[2]. Ho-Won Jung; Seung-Gweon Kim; Chang-Shin Chung, “Measuring software product quality:
     a survey of ISO/IEC 9126”, Software, IEEE,Volume 21, Issue 5, pp-88-92, Sep-Oct-2004.

[3]. T. M. Pigoski. Practical Software Maintenance. John Wiley & Sons, New York, pp-384, 1997.

[4]. H.D. Rombach. “Design measurement: Some Lessons Learned”. In IEEE Software, Vol. 7,
     No. 2, pp- 17-25, 1990.

[5]. Tzilla Elrad, Robert E. Filman, Atef Bader, “Aspect-oriented programming: Introduction”,
     Communication of the ACM Volume 44, Issue 10, pp-29-32, October 2001.

[6]. K. Lieberher, D. Orleans, and J. Ovlinger, “Aspect- Oriented Programming with Adaptive
     Methods,” Communications of the ACM, Vol.44, No.10, pp.39-41, October 2001.

[7]. Avadhesh Kumar, Rajesh Kumar, P.S. Grover, “A Comparative Study of Aspect-Oriented
     Methodology with Module-Oriented and Object-Oriented Methodologies”, ICFAI Journal of
     Information Technology, Vol IV, pp- 7-15, Dec 2006.

[8]. Aldrich, J., Open Modules: “A Proposal for Modular Reasoning in Aspect-Oriented
     Programming”, Carnegie Mellon Technical Report CMU-ISRI-04-108, 2004 (Earlier version
     appeared in Workshop on Foundations of Aspect-Oriented Languages.).

[9].     M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, & T. Tourw, “A qualitative
       comparison of three aspect mining techniques”, Proc. of the International Workshop on
       Program Comprehension (IWPC), 2005. Proceedings. 13th International Workshop on 15-16,
       pp-13-22, May 2005.

[10]. S. Iorwitz, T. Reps and D. Binkley, " Interprocedural Slicing Using Dependence Graphs",
     ACM 7~ransoction on Programming Language and System, Vol.12, No.l, pp.25-fiO, 1990.

[11]. D. Hung, J. Gao, P. Hsia, F. Wen, Y. Yoyoshima, and C. Chen, "Change Impact
     Identification in Object-Oriented Software Maintenance," Prec. lutervmtional Conference on
     Software Mointenonce~ pp.202-211, 1994.

[12]. L. D. Larsen and M. J. Harrotd, "Slicing Object-Oriented Software," Proceeding of the 18th
     International Conference on Software Engineering, German, March, 1996.

[13]. J. P. Loyall and S. A. Mathisen, "Using Dependence Analysis to Support the Software
     Maintenance Process," Prac. International Conference an SoJimarc Maintenance, 1993.

[14]. J. Zhao, "Slicing Concurrent Java Programs," Prec. Seventh IEEE International Workshop
     on Program Comprehension, pp.12fi-133, May 1999.

[15]. Jianjun Zhao, “Change Impact Analysis for Aspect-Oriented Software Evolution”
     Proceedings of the International Workshop on Principles of Software Evolution, pp. 108-112,
     2002.




International Journal of Computer Science and Security, Volume (1): Issue (2)                    8
Avadhesh Kumar, Rajesh Kumar, P.S. Grover



[16]. Avadhesh Kumar, Rajesh Kumar, P.S. Grover, “A Change Impact Assessment in Aspect-
     Oriented Software Systems”, International Software Engineering Conference Russia 2006
     (SECR-2006), pp-83-87, Dec 2006.
[17]. H.D. Rombach. “Design measurement: Some Lessons Learned”, In IEEE Software, Vol. 7,
     No. 2, pp- 17-25, 1990.

[18]. M. Ceccato & P. Tonella, “Measuring the effects of software aspectization” , Proc. 1st
     Workshop on Aspect Reverse Engineering in conjunction with the 11th IEEE Working Conf.
     on Reverse Engineering, Delft University of Technology, Netherlands, November 9th, 2004.

[19]. A. A. Zakaria and H. Hosny. “Metrics for aspect-oriented software design”. In AOM: Aspect-
     Oriented Modeling with UML, AOSD, March 2003.

[20]. J. Zhao. “Towards A Metrics Suite for Aspect-Oriented Software”, Technical-Report SE-
     2002, Information Processing Society of Japan (IPSJ), pp. 136-25, 2002.

[21]. L. Li and A. J. Offutt. “Algorithmic Analysis of the Impact of Changes to Object-Oriented
     Software”, in ICSM96, pp- 171-184, 1996.

[22]. P. Hsia, A. Gupta, C. Kung, J. Peng and S. Liu. “A Study of the Effect of Architecture on
     Maintainability of Object-Oriented Systems”, In ICSM95, Nice, France, pp- 4-11, Oct 17-20,
     1995.

[23]. M. Ajmal Chaumun, Hind Kabaili, Rudolf K. Keller, and François Lustman., “A Change
     Impact Model for Changeability Assessment in Object-Oriented Systems”, Science of
     Computer Programming, vol.45 pp- 155-174, 2002. Elsevier Science Publishers.

[24]. Jingyue Li, Axel Anders Kvale and Reidar Conradi “A Case Study on Improving
     Changeability of COTS-Based System Using Aspect-Oriented Programming”, Journal of
     Information Science and Engineering, Vol. 22 No. 2, pp- 375-390, March 2006.

[25]. The AspectJ Team. The AspectJ Programming Guide. 2003.

[26] V. C. Garcia, E. K. Piveta, D. Lucrédio, A. Álvaro, E. S. Almeida, L.C. Zancanella, & A.F.
    Prado, “Manipulating crosscutting concerns” , Proc. 4th Latin American Conf. on Patterns
    Languages of Programming (SugarLoafPLoP), Porto das Dunas, CE, Brazil, 2004.

[27]. Kiczales, G. et al. “Getting Started with AspectJ”. Communication of the ACM, vol. 44, no.10,
     pp-59-65, October 2001.

[28]. M. A. Chaumun. “Change Impact Analysis in Object-Oriented Systems: Conceptual Model
     and Application to C++”, Master’s thesis, Université de Montréal, Canada, November 1998.

[29]. J. Cordy, T. Dean, A. Malton, and K. Schneider. “Source transformation in software
     engineering using tihe TXL transformation system”, Information and Software Technology,
     44(13): pp-827–837, 2002.




International Journal of Computer Science and Security, Volume (1): Issue (2)                     9
Manoj Devare and Ajay Kumar



        Congestion and Flow Control in Homogeneous and
    Heterogeneous Networks: Discrete Event Simulation Model


Manoj Devare                                                         manojdeore@rediffmail.com
Vidya Pratishthan’s Institute of Information Technology,
Baramati (MS),413133- India

Ajay Kumar                                                           ajay19_61@rediffmail.com
Modern College of Engineering,
Pune (MS)-411005, India



                                               Abstract

This Paper provides a study and review of existing congestion control algorithms
in various types of homogenous and heterogeneous networks. To test the new
methodology for the congestion and flow control we have used the two different
discrete event simulation tools. The OPNET simulation tool is used to find out
performance of the TCP reliable protocol for built-in congestion control
mechanism. The second part is for simulation of existing congestion control
algorithm (AIMD-Additive Increase Multiplicative Decrease) and new suggested
congestion and flow control algorithm using OMNeT++ discrete event simulation.

Keywords: AIMD, discrete event simulation, advertise window, congestion window.




1. INTRODUCTION
Congestion control is the efforts made by network nodes to prevent or respond to overload
conditions. We use concept of ‘fairness’ i.e. try to share pain among the all users, rather than
causing great pain to a few. Many congestion control mechanism having built in notion of
resource allocation. Flow control is keeping fast sender form overrunning a slow receiver.
Congestion control keeps a set of senders form sending too much data into network because of
lack of resources at some point. In other words the bandwidth is also known as throughput. The
term throughput is used to measure the performance of the system.

Congestion control and resource allocation involves both host and network elements such as
routers. Congestion and resource allocation are two sides of same coin involves host and
network elements such as routers. The queuing discipline can segregate traffic. As congestion
and resource allocation is not isolated to single level of protocol hierarchy. Resource allocation is
process by which network elements try to meet the competing demands that application have for
network resources. Resources are link bandwidth and buffer space in routers or switches. The
problem is for refusing the users.

The congestion controlling algorithms are categorized into “box is black”, “box is gray” and “box is
green”. This type of categorization is done on the basis of knowledge of it’s state. In case “box is
black” category no knowledge of it’s state , other than binary feedback upon congestion. The
algorithms AIMD-FC, Binomial mechanism, SIMD, HIGHSPEED-TCP, BIC-TCP and other
generations of AIMD are included in this first category. The “Box is Gray” category use



International Journal of Computer Science and Security, Volume (1): Issue (2)                     10
Manoj Devare and Ajay Kumar



measurements to estimate available bandwidth, level of contention or even the temporary
characteristics of congestion. Due to possibility of wrong estimations and measurements, the
network is considered a gray box. The TCP-VEGAS, FAST-TCP, TCP-REAL, TCP-WESTWOOD
[13][16], TFRC, TCP-JERSEY are some the algorithms. The “Box is Green” consist of bimodal
congestion control, which calculates explicitly the fair-share, as well as the network assisted
control, where the network communicates it’s state to the transport layer. The ‘green’ category
includes VCP, XCP and JETMAX approaches to control the congestion [15].

TCP is always under research for the checking the performance of the network under satellite
networks the work is done by performance analysis is done for “TCP Spoofing” using ns-2. The
simulation is to analyze spoofing over a large range of file sizes and under various congested
conditions, while prior work on this topic has primarily focused on bulk transfers with no
congestion.[3] The investigation regarding the fundamental problem of achieving the system
optimal rates, which maximize the total user utility, in a distributed network environment using
only the information available at the end hosts. This is done by decomposing the overall system
problem into sub problems for the network and for the individual users and introducing an
incentive-compatible pricing scheme. This is done using a window based algorithm to provide an
algorithm for the network to adjust its prices and the users to adjust their window sizes such that
at an equilibrium the system optimum is achieved. [4]. The work regarding uses emulations to
explore the benefits of adding selective acknowledgments (SACK) and selective repeat to TCP.
Comparison of Tahoe and Reno TCP, the two most common reference implementations for TCP,
with two modified versions of Reno TCP[ 5]. The variable structure congestion control(VCP)
protocol is developed from basic TCP[6]. TCP New Jersey, which is capable of distinguishing
wireless packet losses from congestion packet losses, and reacting accordingly. TCP New Jersey
consists of two key components, the timestamp-based available bandwidth estimation (TABE)
algorithm and the congestion warning (CW) router configuration. TABE is a TCP-sender-side
algorithm that continuously estimates the bandwidth available to the connection and guides the
sender to adjust its transmission rate when the network becomes congested.[7]

The first implementation of the MaxNet TCP network congestion control protocol. MaxNet uses
explicit multi-bit signaling from routers to achieve high throughput and low latency over networks
of arbitrary capacity and topology, and virtually any delay. The MaxNet algorithm is extended in
this paper to give both provable stability and rate fairness. The implementation is based on the
Linux Traffic Control framework. The system consists of a sender and receiver TCP algorithm as
well as a router module[8]. In heterogeneous networks, TCP connections that incorporate a
terrestrial or satellite radio link are greatly disadvantaged with respect to entirely wired
connections, because of their longer round trip times (RTTs). To cope with this problem, a new
TCP proposal, the TCP Hybla, is presented and discussed in the paper[9]. The work on
retransmission ambiguity is done in some papers for RTT.[10]. The research related with
wireless frame traffic is studied in various ways [12]. The physical flow-based congestion
management allocation mechanism for multiple transaction networks is given to characterize the
transmission congestion [17] . The transient behaviors of TCP friendly Congestion control
protocol is analyzed with analytically as well as the simulated environments given in GAIMD,
TFRC and TEAR[18].

The sender-based approach for multicast congestion control targeted towards reliable bulk data
transfer is done by using ns-2 simulator for finding dynamically worst congested path in multicast
tree in TCP friendly environment[19]. Determine near-optimal policies when the available
bandwidth is unchanging, and near-optimal competitive policies when the available bandwidth is
changing in a restricted manner under the control of an adversary. The focus on regulating the
rate of a single uni-cast flow when the bandwidth available to it is unknown and may change over
time.[20]. The approach in maintaining Quality of Service(QoS) adopting equation-based
congestion control (EBRC) for differentiated services instead of traditional TCP congestion
control for best-effort service. The congestion proactive Sender functionality, packet loss control
mechanism in routers and receiver functionality are differentiated and implemented in some
approaches[21]. The uniform solution accommodating both responsive and unresponsive traffic



International Journal of Computer Science and Security, Volume (1): Issue (2)                   11
Manoj Devare and Ajay Kumar



with trivial overhead by ignorance of rate adaptation is found in a novel RED-based hop-by-hop
congestion control mechanism which is based on the coordination of the routers and the hosts.
No per-flow state information is maintained in the routers [22].The theory of window based
unicast congestion control and use of fairness and efficiency found in the GAIMD and TCP [23].

The various approaches of the congestion control and flow control in the network environment are
done as work of the applying different counter measures across the various criteria. TCP
implements a highly tuned congestion control mechanism. The OPNET is major tool used for the
network performance optimization [11]. The counter measures applied are making stop
mechanism to the senders so that avoid the overloading of network. The available bandwidth
estimation is again one of the factor for the detecting how many packets it can safely transit. It
maintains the state variable for each connection, called the congestion window, which is used by
the source to limit how much data it is allowed to have in transit at a given time.

The various rising numbers are indication of the congestion is more in the network. So if we are
able to reduce the statistics of these factors, we are able to control the congestion. Some of the
factors such as percentage of all packets discarded for lack of buffer space,[1] average queue
length, number of packets that time out and retransmitted, average packet delay, and standard
deviation of packet delay. The existing algorithms are made to reduce this statistics across the
various levels.

2. BACKGROUND
TCP interprets timeouts as sign of congestion. It maintains state variable for each connection,
called the congestion window, which is used by the source to limit how much data it is allowed to
have in transit at a given time. TCP uses mechanism, called Additive Increase Multiplicative
Decrease (AIMD), that decreases the congestion window when the level of congestion goes up
and increase the congestion window when the level of congestion goes down. Each time a
timeout occurs, the source sets the congestion window to half of the previous value. This halving
corresponds to the multiplicative decrease part of the mechanism.[2]

The congestion window is not allowed to fall below the size of the packet i.e. the TCP maximum
segment size (MSS).         This halving corresponds to the multiplicative decrease part of the
mechanism. Each time the source successfully sends a congestion window’s worth of packets, it
adds the equivalent of one packet to the congestion window; this is additive increase part of the
mechanism. TCP uses a mechanism called slow start to increase the congestion window
“rapidly” from a cold start in TCP connections. It increases the congestion window exponentially,
rather than linearly. Another one mechanism TCP utilizes is fast retransmit and fast recovery.
Fast retransmit is heuristic that sometimes triggers the transmission of dropped packet sooner
than regular timeout mechanism. The end-to end transmission protocol is used analyze the size
to the congestion window with different mechanism. The inbuilt TCP have a TCP congestion
control is for each source to determine how much capacity is available in the network, so that it
knows how many packets it can safety have in transit.


3. METHODOLOGY
Discrete-event-simulation concerns the modeling of system as it evolves over time by
representation in which the state variables change instantaneously at separate points in time. In
mathematical terms, we might say that the system can change at only a countable number of
points in time. These points in time are the ones at which an event occurs, where an event
defined as an instantaneous occurrences that may change the state of the system. Although
discrete event simulation could conceptually be done by hand calculations, the amount of data
that must be stored and manipulated for most real-world systems dictates that discrete event
simulation can be done by digital computers[14]. The same theme of DES is represented in
figure 3 The AIMD algorithms with basic formulae are represented in this section. Effective
Resource allocation is to maximize power given by.


International Journal of Computer Science and Security, Volume (1): Issue (2)                  12
Manoj Devare and Ajay Kumar




Power= Throughput / Delay …………………………………………………………………(1)

Delay= (Depart Time – Arrival time) +Transmission Time + Latency……………………(2)

Throughput = Packets per second X Bits per Packets…………………………………….(3)

Latency =Propagation + Transmit + queue…………………………………………………..(4)

Propagation = Distance / Speed of Light……………………………………………………..(5)

Transmit = Size/ Bandwidth……………………………………………………………………(6)

Throughput=Transfer size/ Transfer Time……………………………………………………(7)

Transfer Time= RTT + (1 / Bandwidth) X Transfer Size……………………………………..(8)

Latency is the time required for a packet to traverse the network from source to destination. Our
evaluations of latency are on zero-load latency of the network. This ignores latency due to
contention with other packets over shared resources. If simulation includes contention latency,
latency becomes a function of offered traffic and it becomes instructive to plot this function.
Bandwidth is measure of width of frequency band. It is measured in Hertz.(range of signals that
can be accommodated. If we talk about the width of a communication link, we refer to the number
of bits per second that can be transmitted on the link. In TCP congestion control mechanism each
source is determines how much capacity is available in the network, to transmit the number of
packets. The Additive Increase and Multiplicative Decrease (AIMD) decreases window size when
congestion level goes to high.
The simulation model here developed in OMNeT++. The model developed for calculating the
“advertise window” for flow control and Congestion Window for AIMD. The various factors with
small modification in the basic algorithm are implemented for further calculation of throughput and
delay (latency).

4. EXPERIMENTAL ANALYSIS AND RESULTS
The simple model for flow control is created by using OMNeT++ discrete event simulation
modeling. The events are processing with respect to the packet or message arrived at any
module. The idea is to increase the Advertise window size (by some factor) if acknowledgement
of the packet is received. The sink sends the Advertise window size to the source. The model is
as show in figure 1. The same Advertise Window is considered as the main factor in Congestion
control to increase it for the multiple sources environment. The new term introduced is
“Congestion Window”.




                        FIGURE 1: Simple Model for Flow Control Using OMNeT++




International Journal of Computer Science and Security, Volume (1): Issue (2)                   13
Manoj Devare and Ajay Kumar




                 FIGURE 2: Simple Model for AIMD Congestion Control Using OMNeT++




                  Figure 3: Simulation Time in Model with Three Sources and Two sinks




                              Figure 4: The time series for “Process” module.



International Journal of Computer Science and Security, Volume (1): Issue (2)           14
Manoj Devare and Ajay Kumar




The figure 3 explains the simulation events happened in the timeline chart. The Y-axis shows the
increasing events with respective to the x axis as the events times. The results we observed are
show in graph in figure 3 and figure 4. The OMNeT++ is simulation programming tool. We
tested the results in OPNET. The results for the TCP congestion window size is shown in figure 5,
6, and 7 . The traffic is considered as the multi-scale integrated traffic. The nature of algorithm is
tested and graphs plotted to check across the results with OMNeT++ Simulator.




                Figure5: Size of window with Drop fast, drop no fast and no drop scenario




                           FIGURE 6: Sent Segment Sequence Number in TCP.




International Journal of Computer Science and Security, Volume (1): Issue (2)                      15
Manoj Devare and Ajay Kumar




     FIGURE 7: Sent Segment Sequence Number and Congestion Window Size in TCP Detailed View



5. CONCLUSION & FUTURE WORK
The AIMD is increases the window size as the acknowledgement is received for every packet
sent by the source. But missed packet acknowledgement may reduces the Congestion Window
size and performance decreases. The mechanism to raise the congestion window for slow
raising is good idea to improve the performance of the AIMD. Plotting graphs of segment
sequence number remain unchanged with every drop in the congestion window. The drop-no-
fast scenario have slowest growth in sequence numbers as compared with no-drop and drop-fast
scenario. We have given the comparison of the simulations across two different simulating
environment is cross checking mechanism. As shown in figure 4 the OMNeT++ simulation with
our own idea of slowly increase can gives resulting scene of the throughput over the figure
number 6 and 7 of three different scenarios of the TCP.
Future Work: Calculating a fairness index for set of outputs to find out resources allocation in the
network. Fairness index can be calculated as. Given a set of flow throughputs (x1,x2,x3…xn)
(measured in consistent units such as bits/second).[paterson]

6. REFERENCES
   1. Guido Appenzeller, Isaac Keslassy et.al., “Sizing Router Buffers ” ,SIGCOMM’04 Aug.
         30, Sept. 3, 2004, Portland Oregon, USA.
    2. Larry L. Peterson, Bruce S. Davie, “Computer Networks- A System approach”, 3rd Ed.,
         pp.450.
    3. Joseph Ishac et. al, “On the Performance of the TCP Spoofing in Satellite Networks”,
         NASA/TM--2001-211151, pp 1-6.
    4.   Richard J. La and Venkat Anantharam ,“Window-Based Congestion Control with
         Heterogeneous Users”, IEEE INFOCOM 2001, PP 1320-1329.
    5.   Kevin Fall and Sally Floyd, “Simulation-based Comparisons of Tahoe, Reno, and SACK
         TCP”, Scientific work US dept. of Engergy. pp1-20
    6.   Yong Xia et. al, “One More Bit Is Enough”, SIGCOMM’05, August 2005,
         Philadelphia.pp1-16
    7.   Kai Xu, Ye Tian et.al,         “Improving TCP performance in integrated wireless
         communications networks”, Elsevier Computer Networks 47 (2005) pp. 219–237.
    8.   Lachlan L Andrew et.al, “MaxNet:Theory and Implementation”,WAN-in-Lab project, pp1-
         11


International Journal of Computer Science and Security, Volume (1): Issue (2)                    16
Manoj Devare and Ajay Kumar



    9. Carlo Caini et. al, “ TCP Hybla: a TCP enhancement for heterogeneous networks”, 2004
        International Journal Of Satellite Communications And Networking, pp .547–566
    10. Phil Karn “Improving Round-Trip Time Estimates in Reliable Transport Protocols”, ACM
        SIGCOMM, pp.67-74.
    11. Sameh H. Gawanmeh et. al.,” Wireless Network Performance Optimization using OPNET
        Modeler ”, Information Technology Journal 5(1) pp.18-24, 2006.
    12. Ge Xeaohu and Zhu Yoating, ” Research on Frame Traffic of Wireless Local Area
        Network ”, Information Technology Journal 6(4) pp.595-596, 2007.
    13. IETF RFC 793, “Transmission Control Protocol ”, www.ietf.org/rfc.html
    14. Averill M.Law, W.David Kelton, “Simulation, Modeling and Analysis” , McGraw-Hill Edition
        2003, pp. 6-7 (2003).
    15. Lefteris Mamtas, Tabias Harks et. al., “Approaches to congestion Control in Packet
        networks”, Journal of Internet Engineering Vol.1, No.1,Jan 2007, pp.22-33.
    16. S.Mascolo, C. Casetti, et. al, “TCP Westwood: Congestion Control with Faster-
        Recovery”, UCLACSD TR#20017, pp. 1-14.
    17. Shu Tao and George Gross, “A Congestion-Management Allocation Mechanism for
        Multiple Transaction Networks”, IEEE Transactions on Power SystemsVol.17.No.3
        August 2002.pp.826-833.
    18. Yang Richard, Min Sik Kim et. al, “Transient Behaviors of TCP-friendly Congestion
        Control”, IEEE INFOCOM 2001 pp.1716-1725.
    19. Sherlia Shi and Marcel Waldvogel, “A Rate-based End-to-end Multicast Congestion
        Control Protocol”, IEEE NSFgrant number: ANI-9714661,pp. 678-686(2000)
    20. Richard Karp, Elias Koutsoupias et.al ,“Optimization Problems in Congestion Control ”,
        IEEE pp.66-74(2000).
    21. Wanmang Luo, Chuang Lin et.al, “A Congestion Control Mechanism supporting QoS
        Requirements”, IEEE(2001), 0-7695-1381-6/01,pp. 55-60.
    22. Bin Pang, Xi-Cheng Liu et. al, “A Novel RED-Based Hop-by-Hop Congestion Control”, 0-
        7695-1381-6/01IEEE(2001).
    23. Nishanth R. Sastry and Simon S. Lam, “A Theory of Window-based Unicast Congestion
                                         th
        Control”, Proceedings of the 10 IEEE Computer Society International Conference on
        Network Protocols (ICNP’02), pp.(2002)




International Journal of Computer Science and Security, Volume (1): Issue (2)                17
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi




      Analysis of parameter for Local Colour Scale in Ion Trajectories

  J. M. Sharif                                                                     johan@utm.my
  Department of Computer System & Communication
  Universiti Teknologi Malaysia
  UTM Skudai, 81310, Johor, Malaysia

  M. S. A. Latiff                                                                  shafie@utm.my
  Department of Computer System & Communication
  Universiti Teknologi Malaysia
  UTM Skudai, 81310, Johor, Malaysia

  M. A. Ngadi                                                                        dr.asri@utm.my
  Department of Computer System & Communication
  Universiti Teknologi Malaysia
  UTM Skudai, 81310, Johor, Malaysia




                                                    Abstract

Spatio-temporal dataset is a collection of datasets where data is vary in both space and
time. Theoretically, such a datasets can be considered as a continuous and discrete.
For example, specification of the function, F : E d × T → R n , where E d denotes d-
dimensional Euclidean space, T = R∗ ∩ {∞} the domain of time and R n an n-dimensional
scalar field. Examples, of such data sets include time-varying simulation results, films
and videos, time-varying medical datasets, geometry models with motion or
deformation, meteorological measurements and many more. It is therefore highly
desirable to use visualisation to summarize meaningful information in higher
dimensional spatio-temporal data sets. In physics, ion trajectories has totally relied on
statistical analysis from experimental and computer simulation results [1-5]. To help the
physicists to identify and trigger the timeline and collaborative events in ion trajectory,
we need the codes to distinguish the events according to timeline-based events. In
coding theory, we need such a code that can represent each of the events in timeline
series. Moreover, the code itself must help in identifying and trigger the events if there is
a collaborative event among chaotic movements of ion trajectories. In particular, we
propose a Colour Number Coding Scheme for depicting the time series of ion
trajectories [6]. We discuss the method of depicting the time series in relation to the
encoding series of timeline events in ion trajectories. We also point out some of the
advantages of this method in terms of accuracy according to human observer.

Keywords: coding theory, spatio-temporal, ion dynamics, streamline, colour scale, visual representation


1. INTRODUCTION
The transport of ions within aperiodic glass structures has remained an enigma for many years, the
resolution of which will be critical for explaining the huge versatility of glass in technology, including its
homogeneity, and its electrical, mechanical and chemical characteristics. Physicists has proposed a




International Journal of Computer Science and Security, Volume (1): Issue (2)                             18
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


variety of ionic conduction models, ranging from the correlated forward and backward hopping of single
cations [7], to collaborative process involving the transport of many mobile cations [8-10].

Experimentally, the collaborative character of ion trajectories in glasses can be inferred from dielectric and
ion transport properties. The existence of such collaborative phenomena was suggested by examining
ionic conductivity data, tracer diffusion measurements and dielectric data collected from experiments [10-
12]. However experimental data, which measures macroscopic properties and lacks in structural
periodicity, does not provide any description of the atomic structure and trajectories. Any detailed
observation of spatio-temporal collaborative in ion trajectories is not possible at moment. The glass
structure and trajectories over the spatial and temporal scales relevant to the diffusion processes therefore
remain undetermined at large from the experiments.

With the advance of computational science, large scale simulations of molecular trajectories, followed by
statistical analysis, have resulted in better comprehension of ion trajectories in glasses. These approaches
have established the clustering of alkalis [1, 3, 4], and identified both localized hopping and long-range
collaborative jumps [13]. Collaborative transport is less likely at low temperature or at low alkali
concentration, and in mixed alkali compositions [8, 14, 15]. This latter phenomenon is known as the mixed-
alkali effect and has been interpreted by involving an energy penalty, which inhibits hops to sites previously
occupied by a different alkali type [16]. Many of these ideas beg the question of visualisation to clarify the
relationship between glass structure and ion trajectories at the local level.

In a comprehensive study of single and mixed alkali glasses, 1080 atom models of composition
 ( Na(1− x ) K x ) 2 Si2O5 have been calculated using the Molecular Simulation Package. In these models [17],
Si (silicon) and O (oxygen) atoms form the silicate network, which hosts alkali Na (sodium) and K
(potassium) ions in a number of suitable spatial domains. The short-range Van der Waals interactions are
modelled by the Buckingham potential :

                                                                   r          C
                                              U (ri , j ) = A exp  − i , j   − 6
                                                                   ρ          ri , j

where U and     ri , j denote the energy and the interatomic distance for the pair of atoms i and j respectively.
The long-range Coulomb interactions are handled via the standard Ewald sum.

In order to form the silicate network, the model potential for the 0-0, 0-Si interactions is based on that of
[18], and three-body components are used to control the 0-Si-O and Si-O-Si angular distributions U (θ i , j , k )
where   θi , j ,k , is angle formed by atoms i, j and k.

Simulations of the trajectories have been performed at the fixed temperature of 1800K and over duration of
20-100ps. They involve the integration of Newton's equations of motion for each time step an each atom,
which allows the calculation of the individual atomic trajectories over time. At this temperature, a fraction of
the alkali Na and K ions can be mobile, travelling through a comparatively frozen silicate network.

Studying the complicated events that result in ion migration from statistical functions, however, has proved
elusive in the past. Most ions stay close to the same position over time, but some can move a considerable
                                        −11
distance, typically within about 10     seconds. The latter events have been interpreted as collaborative
[13] and the analysis of time series events also conducted [5].

Using visualisation, it becomes possible for us to probe these complex compositional dependent
processes by looking at the choreography of neighbouring ions. The distinction of different mobility of ions
can be clearly seen in Figure 1 which shows the movements of neighbouring Na (blue), 0 (cyan) and Si
(green) ions in disilicate glasses. Ion tracks are reduced to attractors using the Ruelle-Taken formalism.
These are mainly roughly spherical in shape, ion motion being contained within a short distance
 (< 1010 m) , but the mobile Na ions in the lower half clearly travel much further.




International Journal of Computer Science and Security, Volume (1): Issue (2)                                19
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi




 FIGURE 1 : Attractors for neighbouring ions are shown for Na2Si2O5 (left) and NaKSi2O5 (right) glasses. Sodium
   (Na) attractors appear to be more mobile than others, indicating their possible involvement in spatio-temporal
                                                   collaboration.


The simulation results include various thermodynamic properties of the simulated ensemble average, the
positions of the bonds between atoms and the trajectories of ions as time-varying series of 3D points,
which can be forwarded to the visualisation process. In this work, we are particularly interested in the
identification of time series event and collaborative activities from a given collection of such trajectories for
ions a,b,….:

                                               Pa ,0 , Pa ,1 , ... , Pa , n ;
                                               Pb ,0 , Pb ,1 , ..., Pb ,n ;
                                               ......
The paper is organized as follows. Firsts, we discuss existing and relevant codes which is available in
time-varying visualisation in Section 2 and followed with Section 3 for spatial orientation topic. In Section 4,
we divided the explanation into two concrete situations. We introduced our method that’s called Global and
Local Colour Scale. In Section 6, we highlight the issue of timeline events which is before collaboration
takes place. In this section, we enumerate various parameters which are important in perceiving the
accuracy of timeline events. We discuss the pros and cons of using those parameters in our visual
representation with the same input datasets. Finally, in Section 7 we concluded our study


2. RELATED WORK
Since the late 1990's, researchers in coding theory have been searching for developing, improving,
applying or generating a codes. Several applications have been developed, including error controlling
system [19], fault tolerant or fault diagnosis/monitoring [20], analysis model [21], developing framework
[22] and communication system [23]. Some of the effort combined with another field of research such as
complexity theory [24], system theory [25] and test pattern generators [26]. Some researchers borrowed a
technique from coding theory concept to solve some research problem such as in testing problems [27],
cryptography [28], optical flow [29], adaptive radar [30], algorithm [31] and neural network [32].

However, through the codes itself, many researcher were try to enhance the performance of the codes.
For example, Kieffer was study the rate and performance of a sequence codes along a sample sequence


International Journal of Computer Science and Security, Volume (1): Issue (2)                                 20
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


of symbols generated by a stationary ergodic information source [33] but differently with Ishikawa, he used
to improving the communication performance in hypercube multiprocessor with bus connection through
coding theory concept [34]. Some researchers improve the codes in different way such as Vardy used to
enhance the codes by minimum distance of the code [35]. Moreover, Garcia and Stichtenoth were shows
an algebraic functions field as a useful tool for improving the codes by determine the number of rational
places [36].

For Rains, they improved the codes by determine the bound through finding the minimum distance of the
codes using the length [37]. In ions trajectory, to help the physicists to identify and trigger the timeline and
collaboration events, we need the codes that can be identify the events according to timeline-based
events. From the above review, we need such a codes that can represent each of the events in timeline
series. Moreover, the code itself must help in identifying and trigger the events if there is a collaboration
among the ion trajectories.

Many researchers have recently noted that there is a work for solving the problem in some research area
with the help of coding theory concept such as in data security [28], optical flow [29], communication
channel [30] and neural network [32]. One problem often overlooked when rendering time-varying data
sets based on coding theory concept is to associate a particular event with a precise moment on the
timeline. This is useful not only for determine the time of an event but also for identification corresponding
parties involved in collaboration. Very few researchers has given their attention in literature on timeline
encoding especially in codes.

Location codes is a labelling technique that represented tetrahedral elements within a mesh. Lee et al. [38]
used this technique for labelling triangular faces. There are also a few authors used this idea for their
works such as Evans et al. [39] who use an array where the label of a node determines the node location
in the array. Thus, Zhou et al. [40] used this strategy to addressing the children and parents in managing
the multiresolution tetrahedral volume data. A similar data structure is used by Gerstner and Rumpf [41] for
extracting isosurfaces at different levels of details. Location code also has been used in spatio-temporal
database research for labeling purpose as well [42]. Since then, there is another labeling scheme has
been introduce like LPT code [43]. It was extension from the location code itself. The origin idea for
labeling codes has comes from Gargantini [44]. She was introduced the effective way for represented the
quadtrees with her codes called gargantini codes. After that, quadcode has been published by Li and Loew
[45] for representing geometric concepts in the coded images, such as location, distance and adjacency.

Designing efficient image representations and manipulations with bincodes has been proposed by Ouksel
and Yaagoub [46]. This codes will represent a black rectangular sub-image in the image. The code is
formed by interleaving the binary representations of the x- and y-coordinates of the subimage and its level
in the corresponding bintree. Some enhancement had been made on the bincodes itself by Lin et al. [47].
There is few more codes had been introduce in image representation such as sarkar's code [48, 49],
logicodes [50], restricted logicodes [50] and symbolic codes [51]. All those codes closely related to the
image representation. Since there is no such a codes for time-varying datasets in ion trajectories. Here, we
introduced our own codes that can be useful to visualise a series of timelines in ion trajectories [6] [52].


3. SPATIAL ORIENTATION
In this section, we will first examine the more challenging task for visualising temporal information in order
to identify the series of events. We will discuss the use of glyph, colour and opacity in our visual
representations and present the methods for constructing and rendering composite visualisation that
convey a rich a collection of distinguishable visual features for assisting in a visually data mining
processing

Given an ion trajectory as a series of n+1 points,     p0 , p1 ,...., pn , we have n consecutive vector segments,
v0 , v1 ,...., vn where vi = ( pi − pi −1 ) . One can visualise such a trajectory using streamlines or vector
glyphs.




International Journal of Computer Science and Security, Volume (1): Issue (2)                                21
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi




                                       (a) glyph                      (b) tube

                                   FIGURE 2 : Streamlines of trajectory sodium #169

In Figure 2(a) and (b), even though each image, which represents a vector segment, depict the
instantaneous velocity at a given time interval with its length or the direction of the motion with its pointer
but its does not much help to visualise a time series events in ion dynamics. Probably with this method the
viewer might know which ion is moving or static as shown in the Figure 2. In the next section, we will
highlight a method that can give more understand about time series events in ion dynamics.


4. TEMPORAL INFORMATION
When involving a sequence of timeline events, the complexity task is to reveal the time of an event and the
classification corresponding parties which participate in collaboration. But the issues of cooperation or
collaboration will not discuss at moment. At the same time, this task will turn into tremendously
complicated if there are hundreds or thousands of collaborative events occur. Given an ion trajectory as a
series of n+1 points, p0 , p1 ,..., pn , we have n consecutive vector segments, v0 , v1 ,...., vn , where vi =
( pi − pi −1 ) .

4.1 Global Colour Scale
Through streamlines itself, it is difficult to differentiate between the top and bottom trajectories, even
though they are presenting a motion in opposite directions. In complexity of movement, at the global level,
the viewer should be able to observe a global time frame of the ion trajectory before we going into high
degree of temporal information. As shown in Figure 3, the purpose of global colour scale had been used
because it will help viewer to determine the global time frame for the events. Finally, we introduced our
novel method that we called Global Key Colours [6].




                                 FIGURE 3 : Seven Key Colour for Global Colour Scale

4.2    Local Colour Scale



International Journal of Computer Science and Security, Volume (1): Issue (2)                              22
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


In order to correlate each vector segment with the timeline more accurately and hence to improve the
differentiation of different vector segments, we introduce a Colour Number Coding Scheme in our
visualisation [6]. Given a small set of key colours, c1 , c2 ,...., ck (k > 1) and distinctive interval-colour (e.g.,
while, black or grey depending on the background colour), we code a group of consecutive m vectors as a
k-nary number, terminated by a vector in the interval-colour. Given n as the total number of vectors and we
always assign the interval-colour to the first vector, we need to find the smallest integer m that satisfies
Equation 1 :
                                       (m + 1)k m ≥ n …………………….(1)

For instance, when n = 1000, using two key colours, say red and green, we need in m = 7 colour digits. We
have m = 5 for k = 3, m = 4 for k = 4, and m = 2 when k reaches 19. The selection of m and k needs to
address the balance between a smaller number of colours or a smaller number of colour digits in each
group of vectors. The former ensured more distinguishable colours in visualisation, and the alteration
reduces the deductive effort for determine the temporal position of each vector. Figure 4 shows a
quaternary colour coding scheme for ion tracks with 1000 vectors.




                     FIGURE 4 : Quaternary Colour Coding Scheme for trajectory of sodium #169

As mentioned previously, global colour scale would be able to visualise global time frame only instead of
local time frame. In Figure 5 we show a comparison between global and local colour time scale. In this
paper we choose quaternary colour coding scheme for local colour scale which is k=4 for our comparison
result with global colour scale. According to our result that shown in Figure 5, we understand local colour
scale will help the viewer to distinguish each timeline events in ion trajectories and the purpose of global
colour scale is to summarise all the timeline events or the global time frame in ion trajectories.




International Journal of Computer Science and Security, Volume (1): Issue (2)                                    23
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi



                                           Comparison Betw een Tw o Consecutive Key Colour

                                          1200

                                          1000



                         Number of Ions
                                            800
                                                                                                        Global
                                            600
                                                                                                        Local
                                            400

                                            200

                                              0
                                                    1      2     3      4      5     6      7
                                                          Number of Key Colours


                                          FIGURE 5 : Comparison between global and local colour scale

In the following section, the composition of local colour scale will be elaborated in details. The main
concern of this particular section will show the visual representation of local time scale to help the viewer in
analysing the collaborative events in future. Moreover it will be a tool for scientists as well in analysing any
scientific datasets especially in time-varying datasets.


5. COMPOSITING RENDERING
Through composition of above-mentioned colour scales together, we provided an effective                          visual
representation for visualising spatio-temporal of ion trajectories. To simplify the clarification about          colour
scale we constructed testing trajectories as shown in Figure 6. The top trajectory represents an                 object
travelling from left to right at a constant velocity, the center one travelling in a circle at a constant        speed
and the bottom one travelling from right to left at a steadily increasing speed.

In Figure 6(a), streamline had been coloured by Global Colour Scale. Even though, it can differentiated
between the top and bottom trajectories and representing the motion in opposite direction at different
speed but this is for global scale viewing only.




International Journal of Computer Science and Security, Volume (1): Issue (2)                                      24
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi




                                         FIGURE 6: Time Coding Colour Scale

Figure 6(b) shows each conical glyph, which represents a vector segment with Local Colour Scale, depict
instantaneous velocity at a given time interval with its length and the direction of the motion with its pointer.
The combination of method in Figure 6(a) and 6(b) are shown in Figure 7.

Initially, the viewers can visualise the global scale only. To let the viewers can see the local scale, the
viewers must move closely to the trajectory and they will see the local scale inside the global scale. Figure
7 shows the local colour scale when the viewers come close to the ion trajectories.




                                 FIGURE 7 : Zooming effect when viewer come closer


6. OPTIMUM PARAMETER SETTING FOR LOCAL COLOUR SCALE
Without this section, we could not complete yet our visual representation. This is another issue that we
think we should included in this part because it will support our objective. Initially, we want to show the
effectiveness of the local colour scale scheme which is used in our study. Let begin the discussion for
visualising time series events in ion trajectories.

In this section, we consider the selection of m and k parameter will become main factor in our local colour
scale. According to Equation 1, we will shows all possibility of parameter m and k that have been applied
on local colour scale. Our goal is to improve the correlation of each vector segment with the timeline event.
That is why we introduced a Colour Number Coding Scheme in our visualisation.



International Journal of Computer Science and Security, Volume (1): Issue (2)                               25
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi



6.1 Optimum Setting for m’s
In Equation 1, when k=2, the minimum value for parameter m is 7 for n=1000. We can increase the value
of parameter m until it reaches 1000 which is the maximum number of vector segment. This comparison is
illustrated in Table 8. This table shows that when we increase the value of m until 1000, it will loss the
accuracy of local scale timeline because it does not give any meaning to the viewers.

            No                                M                         k                 Image
            1.                                7                         2




             2.                               8                         2




             3.                               9                         2




International Journal of Computer Science and Security, Volume (1): Issue (2)                         26
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


             4.                               2                        10




             5.                               2                        11




             6.                               2                        22




International Journal of Computer Science and Security, Volume (1): Issue (2)   27
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


             7.                               2                        25




             8.                               2                       1000




                              TABLE 8 : Experimental images for satisfying m parameter


6.2 Optimum Setting for k’s
Our next experiment is to satisfy the value of parameter k. In Equation 1, a k will represent the total of
colours that will be used. Same with the previous experiment, we can increase the colour, k up to 1000
colours, k=1000. Compare the results that we obtained from Table 9, those images rendered with small
value of k are visually distinguishable than the images rendered with the high value of k.


            No                                m                         K                    Image




International Journal of Computer Science and Security, Volume (1): Issue (2)                            28
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


1.                             7                           2




2.                             5                           3




3.                             4                           4




International Journal of Computer Science and Security, Volume (1): Issue (2)   29
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


4.                             4                           5




5.                             4                           6




6.                             3                           7




International Journal of Computer Science and Security, Volume (1): Issue (2)   30
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


7.                             3                           8




8.                             3                           9




9.                             2                           256




                               TABLE 9: Experimental Images for satisfying k parameter


6.3 Analysis of the images
In local colour scale, we used quaternary colour scale which m=4 and k=4. A k represent how many colour
in one interval. The size of interval determine by m value. Among the interval of group of colours we put
separator which is in black colours. When we found where is t=0 at global scale, we will applied
transparency scheme to look into local colour scale. In Figure 7, we can see some sort of local colour
scale which is started with four red cone, separator, yellow followed by three red cone and so on. This sort
of colours represent the series of timeline.




International Journal of Computer Science and Security, Volume (1): Issue (2)                           31
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


If we look into number theory, quaternary number is the sort of k-nary number scheme like binary, tri-nary
and etc. Here, we choose four colours which is red, yellow, green and blue. Each colour represent a code
such as red = 0, yellow = 1, green = 2 and blue = 3. What are the quaternary number ? Quaternary number
consists 0,1,2 and 3. In terms of codes, we want to develop a codes of k-nary number. With m=4 and k=4,
we will produce some sort of codes like this : 0000, 0001,0002, 0003, 0010, 0014, … , 4443, 4444. These
codes will represent a series of timeline that we will explain later in more challenging task when the
cooperation events takes place. For the time being, its just enough to analysis t=0. According to Figure 7,
from the portion of t=0 at the global scale, we can see there is sort of red cones and followed by black
separator at the beginning of the trajectories. According to our calculation, red cones will represent a 0
value so it is become 0000. If we want to know what is the timeline, we have to simply convert those
codeword which from quaternary based number to decimal based number [53-55]. Given the series of the
codeword, c1 , c2 ,...., ck (k > 1) . Below we show the way how to find the timeline using our codeword.

                 separator              ck-1          ….             ci          ….           c1             c0
                                      k-1                          i                         1             0
     Total          =             k      x ck-1       ….          k x ci         ….         k x ci        k x c0

                                                     t = (m+1) x total
                                                           thus
                separator           ck-1             ….             ci          ….            c1             c0
                   Tt+k            Tt+(k-1)          ….            Tt+i         ….           Tt+1           Tt+0

Let say, 0000 is the codeword while m and k are assigned to 4. Here, we show how to use the above
method to get the timeline.

                              separator               03             02             03            00
                                                    3              2              1             0
               Total             =                (4 x 03)       (4 x 02)       (4 x 01)      (4 x 00)

                                                       t = (4+1) x 0
                                                            thus
                              separator              03             02             01            00
                                Tt+4                Tt+3           Tt+2           Tt+1          Tt+0
                                T0+4                T0+3           T0+2           T0+1          T0+0
                                 T4                  T3             T2             T1            T0

Thus, we understand each of the codeword will help the viewers to determine a local time scale in ion
trajectories.

It is clear that as the k or m are increased then the accuracy of local colour scale will loss as well. Thus,
we need a balance selection between k and m that will satisfied our local colour scale. As a result, we
choose m=4 and k=4 for n=1000 that we called quaternary colour coding scheme as shown in Figure 4.


7. CONCLUSION
The results show that our colour number coding scheme can be used to allow viewer to determine a time
frame at low level in ion trajectories. Traditionally for lower dimensional spatio-temporal datasets are
investigated using line graph, bar charts or other pictorial representation of a similar nature and animation,
all of which require time-consuming and resources-consuming processes. However, our results indicates
that Global and Local Time Scale may be used to visualise a timeline events without line graph, bar charts
etc thus enabling the real time imaging of ion dynamics. Our work also can convey temporal information in
a high degree of certainty and effective deployment of visualisation in complex spatio-temporal datasets.
This enable us to form the basis of visually mining tools for collaborative ion dynamics in future.


8. REFERENCES
1.       J. Oviedo and J.F. Sanz, "Molecular dynamics simulation of (na2o)x(sio2)1-x glasses relation between
         distribution and diffusive behaviour of na atoms". Physics Review B, 1998. 58: p. 9047.
2.       P. Jund, W. Kob, and R. Jullien, "Channel Diffusion of sodium in a silicate glass". Physics Review B, 2001.
         64.



International Journal of Computer Science and Security, Volume (1): Issue (2)                                      32
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


3.       E. Sunyer, et al., "Molecular dynamics study of the diffusion of sodium in amorphous silica". Journal of Non-
         Crystalline, 2002. 939: p. 307-310.
4.       A. Meyer, et al., "Channel formation and intermediate range order in sodium silicate melts and glasses".
         Physical Review Letters, 2004. 93(22): p. 027801.1-027801.4.
5.       J. Habasaki, K.L. Ngai, and Y. Hiwatari, "Time series analysis of ion dynamics in glassy ionic conductors
         obtained by a molecular dynamics simulation". The Journal of Chemical Physics, 2005. 122: p. 054507.
6.       J.M.Sharif, M.S.A.Latiff, and M.A.Ngadi. "Development of a novel method for 3D scientific data mining in Ion
         Dynamics". in 14th Multi-disciplinary Iranian Researchers Conference in Europe (IRCE 2006). 2006. Salford
         University.
7.       K. Funke, "Jump Relaxation in Solid Electrolytes". Progr. Solid State Chem, 1993. 22: p. 111-195.
8.       W. Smith, G.N. Greaves, and M.J. Gillan, "Computer Simulation of Sodium Disilicate Glass". The Journal of
         Chemical Physics, 1995. 103(8): p. 3091-3097.
9.       K.L. Ngai, "Analysis of nmr and conductivity-relaxation measurements in glassy Li2S-SiS2 fast-ion
         conductors". Physical Review B, 1993. 48(18): p. 13481-13485.
10.      K.L. Ngai, G.N. Greaves, and C.T. Moynihan, "Correlation between the activation energies for ionic
         conductivity for short and long time scales and the kohlrausch stretchting parameter b for ionically
         conducting solid and melts". Phys. Rev. Lett, 1998. 80: p. 1018-1021.
11.      G.N. Greaves and K.L. Ngai, "Reconciling ionic-transport properties with atomic structure in oxide glasses".
         Phys. Rev. B 52, 1995. 52(9): p. 6358-6380.
12.      K.L. Ngai, Y. Wang, and C.T. Moynihan, "The Mixed alkali effect revisited : importance of ion interactions".
         Journal of Non-Crystalline, 2002. 307-310: p. 999-1011.
13.      J. Habasaki and Y. Hiwatari, "Fast and slow dynamics in single and mixed alkali silicate glasses". Journal of
         Non-Crystalline 320, 2002. 1-3: p. 281-290.
14.      K.J. Rao and S. Balasubramanian, "A molecular dynamics study of the mixed alkali effect in silicate
         glasses". Journal of Non-Crystalline Solids, 1995. 181(1): p. 157-174.
15.      G.N. Greaves, "Structure studies of the mixed alkali effect in disilicate glasses". Solid State Ionics, 1998.
         105(1-4): p. 243-248.
16.      P. Maass, A. Bunde, and M.D. Ingram, "Ion transport anomalies in glasses". Phys. Rev. Lett. 68, 1995: p.
         3064-3067.
17.      cclrc. The DL_POLY molecular simulation package. [cited.
18.      B. Vessal, et al., "Physics of condensed matter : Statistical mechanics, electronics, optical and magnetic
         properties". Philosophical Magazine B 60, 1989. 6: p. 753-775.
19.      D.J. Costello, et al., "Application of error-contol coding". IEEE Transactions on Information Theory, 2004.
         44(6): p. 2531-2560.
20.      H. Ren, et al. "Fault diagnosis for substation automation based on Petri nets and coding theory". in Power
         Engineering Society General Meeting,. 2004.
21.      O. Milenkovic. "Analysis of bin model with applications in coding theory". in International Symposium on
         Information Theory, 2004. ISIT 2004. 2004.
22.      D.K. Pradhan. "Logic transformation and coding theory-based frameworks for Boolean satisfiability". in
         Eighth IEEE International High-Level Design Validation and Test Workshop, 2003. . 2003.
23.      A. Fujiwara and H. Nagaoka, "Operational Capacity and pseudoclassicality of quantum channel". IEEE
         Transactions on Information Theory, 1998. 44(3): p. 1071 - 1086.
24.      D.A. Spielman. "models of computation in coding theory". in Thirteenth Annual IEEE Conference on
         Computational Complexity,. 1998.
25.      J. Rosenthal. "Some interesting problems in systems theory which are of fundamental importance in coding
         theory". in Proceedings of the 36th IEEE Conference on Decision and Control. 1997.
26.      R. Srinivasan, S.K. Gupta, and M.A. Breuer, "Novel test pattern generators for pseudoexhaustive testing".
         IEEE Transactions on Computers, 2000. 49(11): p. 1228 - 1240.
27.      T. Berger and V.I. Levenshtein, "Asymptotic efficiency of two-stage disjunctive testing". IEEE Transactions
         on Information Theory, 2002. 48(7): p. 1741 - 1749.
28.      Silverberg, J. Staddon, and J.L. Walker, "Applications of list decoding to tracing traitors". IEEE Transactions
         on Information Theory, 2003. 49(5).
29.      M.A. Jabri, et al. "properties of independent components of self-motion optical flow". in 30th IEEE
         International Symposium on Multiple-Valued Logic, 2000. (ISMVL 2000) Proceedings. 2000.
30.      S.D. Howard and A.R. Calderbank. "relationships between radar ambiguity and coding theory". in IEEE
         International Conference on Acoustics, Speech, and Signal Processing, 2005. Proceedings. (ICASSP '05).
         2005.
31.      J.-H. Youn and B. Bose, "A Topology-Independent Transmission scheduling in Multihop Packet Radio
         Networks". Global Telecommunications Conference, 2001. GLOBECOM '01. IEEE 2001. 3: p. 1918 - 1922




International Journal of Computer Science and Security, Volume (1): Issue (2)                                      33
J. M. Sharif, M. S. A. Latiff & M. A. Ngadi


32.      L. Ying. "Fractals, neural networks, cellular automata, formal language and coding theory". in IEEE
         International Conference on Systems, Man and Cybernetics. 1992.
33.      J.C. Kieffer, "Sample converses in source coding theory". IEEE Transactions on Information Theory, 1991.
         37(2): p. 263 - 268.
34.      T. Ishikawa, "Hypercube multiprocessors with bus connections for improving communication performance".
         IEEE Transactions on Computers, 1995. 44(11): p. 1338 - 1344.
35.      A. Vardy, "the intractability of computing the minimum distance of the code". IEEE Transactions on
         Information Theory, 1997. 43(6): p. 1757 - 1766.
36.      A. Garcia and H. Stichtenoth, "algebraic function fields over finite fields with many rational places". IEEE
         Transactions on Information Theory, 1995. 41(6): p. 1548 - 1563.
37.      E.M. Rains, "shadow bounds for self-dual codes". IEEE Transactions on Information Theory, 1998. 44(1):
         p. 134 - 139.
38.      M. Lee, L.D. Floriani, and H. Samet, "Constant-Time Neighbour Finding in Hierarchical Tetrahedral
         Meshes". Proceedings of the Shape Modeling International 2001 (SMI'01), 2001: p. 286-295.
39.      W. Evans, D. Kirkpatrick, and G. Townsend, "Right-triangulated irregular networks". Algorithmica, 2001.
         30(2): p. 264-286.
40.      Y. Zhou, B. Chen, and A. Kaufman. "Multiresolution tetrahedral framework for visualizing regularvolume
         data". in Proceedings of Conference on Computer Graphics(VISUALIZATION 97). 1997.
41.      T. Gerstner and M. Rumpf, "Multiresolutional Parallel Isosurface Extraction based on Tetrahedral Bisection
         ". In Proceedings 1999 Symposium on Volume Visualization, ACM Press, 1999.
42.      T. Tzouramanis, M. Vassilakopoulos, and Y. Manolopoulos, "Multiversion Linear Quadtree for Spatio-
         Temporal Data". ADBIS: East European Symposium on Advances in Databases and Information Systems,
         2001: p. 279-292.
43.      F.B. Atalay and D.M. Mount. "Pointerless Implementation of Hierarchical Simplicial Meshes and Efficient
         Neighbor Finding in Arbitrary Dimensions". in Proc. International Meshing Roundable (IMR 2004). 2004.
44.      I. Gargantini, "An Effective Way to Represent Quadtrees". Communications of the ACM 1982. 25(12): p.
         905-910.
45.      S.-X. Li and M.H. Loew, "Adjacency Detection Using Quadcodes". Communications of the ACM 1987.
         30(7): p. 627-631.
46.      M.A. Ouksel, and Yaagoub, A., "The Interpolation-based bintree and encoding of binary images".
         CVGIP:Graphical Models and Image Processing, 1992. 54(1): p. 75-81.
47.      S.-H. Lin, et al., "An efficient ,ethod for obtaining the level of the bincode". CVGIP:Graphical Models and
         Image Processing, 2003: p. 773-777.
48.      D. Sarkar, "Boolean function-based approach for encoding of binary images". Pattern Recognit. Lett., 1996.
         17(8): p. 839-848.
49.      D. Sarkar, "Operation on binary images encoded as minimized boolean functions". Pattern Recognit. Lett.,
         1997. 18: p. 455-463.
50.      J.-G. Wu and K.-L. Chung, "A New Binary Image Representation : Logicodes". Journal of Visual
         Communication and Image Representation, 1997. 8(3): p. 291-298.
51.      D.J. Hebert, "Symbolic Local Refinement of Tetrahedral Grids". Journal of Symbolic Computation, 1994.
         17(5): p. 457-472.
52.      J.M.Sharif, M.A.Ngadi, and M.S.A.Latiff. "Colour Number Coding Scheme for Time-Varying Visualisation in
         Glassy Ion Trajectories". in MMU International Symposium on Information and Communication
         Technologies. 2006. Malaysia.
53.      S. Roman, "Introduction to coding theory and information theory". 1996, Springer-Verlag, New York, Berlin,
         Heildelberg: Springer Verlag.
54.      R. Hill, "A First Course in Coding Theory". 1991, Ipswich Book Company, Ipswich, UK: Oxford University
         Press.
55.      S. Ling and C. Xing, "Coding Theory : A First Course". 2004, The Edinburgh Building, Cambridge, CB2
         2RU, UK: Cambridge University Press.




International Journal of Computer Science and Security, Volume (1): Issue (2)                                   34
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)
International Journal of Computer Science and Security Volume (1) Issue (2)

More Related Content

What's hot

Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
IJARTES
 
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
cscpconf
 
Model-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyModel-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A Survey
Mr. Chanuwan
 
Survey paper
Survey paperSurvey paper
Survey paper
IJASCSE
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD Editor
 

What's hot (18)

using LPP
using LPPusing LPP
using LPP
 
Ijetcas14 340
Ijetcas14 340Ijetcas14 340
Ijetcas14 340
 
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
Ijartes v2-i1-001Evaluation of Changeability Indicator in Component Based Sof...
 
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKREALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORK
 
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...
 
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
DEPENDABLE PRIVACY REQUIREMENTS BY AGILE MODELED LAYERED SECURITY ARCHITECTUR...
 
Model-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyModel-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A Survey
 
OS Memory Management
OS Memory ManagementOS Memory Management
OS Memory Management
 
A Review on Quality Assurance of Component- Based Software System
A Review on Quality Assurance of Component- Based Software SystemA Review on Quality Assurance of Component- Based Software System
A Review on Quality Assurance of Component- Based Software System
 
Survey paper
Survey paperSurvey paper
Survey paper
 
Ijcatr04051006
Ijcatr04051006Ijcatr04051006
Ijcatr04051006
 
5 Quality
5 Quality5 Quality
5 Quality
 
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
 
Quality aware approach for engineering self-adaptive software systems
Quality aware approach for engineering self-adaptive software systemsQuality aware approach for engineering self-adaptive software systems
Quality aware approach for engineering self-adaptive software systems
 
A STRUCTURAL APPROACH TO IMPROVE SOFTWARE DESIGN REUSABILITY
A STRUCTURAL APPROACH TO IMPROVE SOFTWARE DESIGN REUSABILITYA STRUCTURAL APPROACH TO IMPROVE SOFTWARE DESIGN REUSABILITY
A STRUCTURAL APPROACH TO IMPROVE SOFTWARE DESIGN REUSABILITY
 
Investigation of quality and functional risk
Investigation of quality and functional riskInvestigation of quality and functional risk
Investigation of quality and functional risk
 
PhD Thesis defense: Lightweight and Static verification of UML Executable Models
PhD Thesis defense: Lightweight and Static verification of UML Executable ModelsPhD Thesis defense: Lightweight and Static verification of UML Executable Models
PhD Thesis defense: Lightweight and Static verification of UML Executable Models
 
Adaptive Guidance System for SPEM
Adaptive Guidance System for SPEM Adaptive Guidance System for SPEM
Adaptive Guidance System for SPEM
 

Similar to International Journal of Computer Science and Security Volume (1) Issue (2)

International Journal of Computer Science and Security Volume (1) Issue (1)
International Journal of Computer Science and Security Volume (1) Issue (1)International Journal of Computer Science and Security Volume (1) Issue (1)
International Journal of Computer Science and Security Volume (1) Issue (1)
CSCJournals
 
Class quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecardsClass quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecards
IAEME Publication
 
An efficient tool for reusable software
An efficient tool for reusable softwareAn efficient tool for reusable software
An efficient tool for reusable software
prjpublications
 
International Journal of Computer Science and Security Volume (3) Issue (3)
International Journal of Computer Science and Security Volume (3) Issue (3)International Journal of Computer Science and Security Volume (3) Issue (3)
International Journal of Computer Science and Security Volume (3) Issue (3)
CSCJournals
 
Paper 25 agent-oriented_software_testing_role_oriented_approach
Paper 25 agent-oriented_software_testing_role_oriented_approachPaper 25 agent-oriented_software_testing_role_oriented_approach
Paper 25 agent-oriented_software_testing_role_oriented_approach
Fraz Awan
 

Similar to International Journal of Computer Science and Security Volume (1) Issue (2) (20)

International Journal of Computer Science and Security Volume (1) Issue (1)
International Journal of Computer Science and Security Volume (1) Issue (1)International Journal of Computer Science and Security Volume (1) Issue (1)
International Journal of Computer Science and Security Volume (1) Issue (1)
 
Text Summarization and Conversion of Speech to Text
Text Summarization and Conversion of Speech to TextText Summarization and Conversion of Speech to Text
Text Summarization and Conversion of Speech to Text
 
Cm24585587
Cm24585587Cm24585587
Cm24585587
 
Ijetcas14 468
Ijetcas14 468Ijetcas14 468
Ijetcas14 468
 
50320140502003
5032014050200350320140502003
50320140502003
 
Class quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecardsClass quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecards
 
1841 1843
1841 18431841 1843
1841 1843
 
1841 1843
1841 18431841 1843
1841 1843
 
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...
 
An efficient tool for reusable software
An efficient tool for reusable softwareAn efficient tool for reusable software
An efficient tool for reusable software
 
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATIONONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
ONE HIDDEN LAYER ANFIS MODEL FOR OOS DEVELOPMENT EFFORT ESTIMATION
 
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMSDEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
DEVELOPMENT OF A MULTIAGENT BASED METHODOLOGY FOR COMPLEX SYSTEMS
 
Thesis Part II EMGT 699
Thesis Part II EMGT 699Thesis Part II EMGT 699
Thesis Part II EMGT 699
 
50120140501006 2
50120140501006 250120140501006 2
50120140501006 2
 
50320140502003
5032014050200350320140502003
50320140502003
 
Ijsea04021003
Ijsea04021003Ijsea04021003
Ijsea04021003
 
International Journal of Computer Science and Security Volume (3) Issue (3)
International Journal of Computer Science and Security Volume (3) Issue (3)International Journal of Computer Science and Security Volume (3) Issue (3)
International Journal of Computer Science and Security Volume (3) Issue (3)
 
ANALYZABILITY METRIC FOR MAINTAINABILITY OF OBJECT ORIENTED SOFTWARE SYSTEM
ANALYZABILITY METRIC FOR MAINTAINABILITY OF OBJECT ORIENTED SOFTWARE SYSTEMANALYZABILITY METRIC FOR MAINTAINABILITY OF OBJECT ORIENTED SOFTWARE SYSTEM
ANALYZABILITY METRIC FOR MAINTAINABILITY OF OBJECT ORIENTED SOFTWARE SYSTEM
 
A Systematic Study Of Software Quality Models
A Systematic Study Of Software Quality ModelsA Systematic Study Of Software Quality Models
A Systematic Study Of Software Quality Models
 
Paper 25 agent-oriented_software_testing_role_oriented_approach
Paper 25 agent-oriented_software_testing_role_oriented_approachPaper 25 agent-oriented_software_testing_role_oriented_approach
Paper 25 agent-oriented_software_testing_role_oriented_approach
 

International Journal of Computer Science and Security Volume (1) Issue (2)

  • 1.
  • 2. Editor in Chief Dr. Haralambos Mouratidis International Journal of Computer Science and Security (IJCSS) Book: 2007 Volume 1, Issue 2 Publishing Date: 30-08-2007 Proceedings ISSN (Online): 1985-1553 This work is subjected to copyright. All rights are reserved whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illusions, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication of parts thereof is permitted only under the provision of the copyright law 1965, in its current version, and permission of use must always be obtained from CSC Publishers. Violations are liable to prosecution under the copyright law. IJCSS Journal is a part of CSC Publishers http://www.cscjournals.org © IJCSS Journal Published in Malaysia Typesetting: Camera-ready by author, data conversation by CSC Publishing Services – CSC Journals, Malaysia CSC Publishers
  • 3. Table of Content Volume 1, Issue 2, July/August 2007 Pages 1-9 An Evaluation of Maintainability of Aspect-Oriented Systems: a Practical Approach. Avadhesh Kumar, Rajesh Kumar, P.S. Grover 10 - 17 Congestion and Flow Control in Homogeneous and Heterogeneous Networks: Discrete Event Simulation Model.. Manoj Devare, Ajay Kumar 18 - 34 Analysis of parameter for Local Colour Scale in Ion Trajectories. J. M. Sharif, M. S. A. Latiff, M. A. Ngadi 35 - 44 New Particle Swarm Optimizer with Sigmoid Increasing Inertia Weight. Reza Firsandaya Malik, Tharek Abdul Rahman, Siti Zaiton Mohd. Hashim, Razali Ngah 45 - 51 Mathematical Morphology Approach for Genuine Fingerprint Feature Extraction. Vikas Humbe, S. S. Gornale, Ramesh Manza, K. V. Kale International Journal of Computer Science and Security (IJCSS), Volume (1), Issue (2)
  • 4. 52 - 57 Managing Component-Based Systems With Reusable Components. Arun Sharma, Rajesh Kumar, P. S. Grover International Journal of Computer Science and Security (IJCSS), Volume (1), Issue (2)
  • 5. Avadhesh Kumar, Rajesh Kumar, P.S. Grover An Evaluation of Maintainability of Aspect-Oriented Systems: a Practical Approach Avadhesh Kumar avadheshkumar@aiit.amity.edu Amity Institute of Information Technology Amity University Sec-125, Noida, India Rajesh Kumar rakumar@tiet.ac.in School of Mathematics & Computer Applications Thapar University Patiala, Punjab, India P.S. Grover groverps@hotmail.com Guru Tegh Bahadur Institute of Technology GGS Indraprastha University Delhi, India Abstract Maintenance of software systems is becoming major concern for software developers and users. In software projects/products, where software changes/updates are frequently required to improve software quality, maintainability is an important characteristic of ISO 9126 quality standard to evaluate. Analyzability, changeability, stability, and testability are sub attributes/characteristics of maintainability in ISO 9126. In this paper, changeability is measured by making changes at code level of an Aspect- Oriented (AO) system. The approach taken to evaluate the changeability of an AO system is to compute the impact of changes made to modules of the system. Some projects1 in aspect-oriented programming (AOP) language, AspectJ, have been taken for testing. The results suggest that the AO system can easily absorb changes and AO design metrics can be used as indicators of changeability as well as of maintainability. The results also suggest that a code level change in AO systems not always cause less change impact to other modules than a code level change in Object-Oriented (OO) systems. Keywords: Software quality, maintainability, changeability, AO system, AO metrics, AspectJ. 1 Original three different projects were developed using object-oriented programming language Java/Servlets for a university with logging facility, chat facility, student result, etc. These projects are having 129 classes. Same projects are re-engineered to aspect-oriented programming using AspectJ. AO projects are with 149 modules (classes and aspects). International Journal of Computer Science and Security, Volume (1): Issue (2) 1
  • 6. Avadhesh Kumar, Rajesh Kumar, P.S. Grover 1. INTRODUCTION Software quality refers to the conformance of the product to explicitly state functional and performance requirements, documented development standards, and implicit characteristics. Quality of software project/product is characterized by certain attributes, which are highlighted by ISO standards. An example of such standard is ISO 9126. ISO 9126 is a standard that provides a generic definition of software quality, in terms of six main desirable characteristics: functionality, maintainability, usability, efficiency, reliability, and portability [1, 2]. Extensive studies have shown that maintenance is one of the major cost concerns, as a matter of fact; a growing cost concern [3]. Maintainability has further four sub attributes, analyzability, changeability, stability, and testability. Out of these, changeability is the most significant from the point of view of organizations, as most organizations use software, developed by other organization(s). It need not bother about any other attribute, except changeability. When we make changes in a program at various levels, such as design, code, and architecture and so on, then how do these affect the quality of the software? Carrying out the impact analysis based on the various changes made can evaluate this. Maintainability of a software system depends on its design [4], which depends on the software design approach that one uses. Salient design approaches are: Module-Oriented (MO), OO, and AO [5, 6]. MO and OO paradigms have been used quite commonly and well-accepted in industry. Each has its own limitations and range of applicability. One of the major constraints has been the spread of concerns over various modules/classes (cross-cutting concerns). This leads to program codes, which are difficult to maintain and understand [7]. Aspect-Oriented Programming (AOP) is a new approach for separating concerns into units called aspects. An aspect is a modular unit of crosscutting concern implementation. It encapsulates behaviors that affect multiple classes into reusable modules [8, 9]. We implement AOP by OO language (e.g. Java), and then we deal separately with crosscutting concerns in our code by implementing aspects. Finally, both the code and aspects are combined into a final executable form using an aspect weaver. As a result, a single aspect can contribute to the implementation of a number of methods, modules, or objects, increasing both reusability and maintainability of the code. The original code need not know about any functionality of the aspect that has been added, it needs only to be recompiled with the aspect to regain the original functionality. It is being argued that AOP will lead to better quality software. Most research work on change impact assessment has been carried out on MO and OO software [10, 11, 12, 13, 14], whereas AO approach has not been studied to that extent. Zhao [15] did some work in this area based on program slicing technique, but has not applied to realistic systems. Avadhesh et, al.[16] have measured changeability characteristics only for operation signature change, not for other members of the module and changes at system level. We have explored this problem incorporating code–level changes for all types of members inside module as well as at system level of AOP. Our technique to assess change impact for AO systems is different. We have used new terminologies for class(s) and aspect(s) as modules and for method(s) of class and advice(s)/introduction(s) of aspect as operations. A change in access scope, data types, operation signature etc. will impact other modules. We evaluated change impact on modules occurred due to a syntax change in code. We have taken projects developed in AspectJ, as a case study. 2. RELATED WORK Characterization of design is mostly done through metrics. According to Rombach, architecture is more influencing than algorithmic design on maintainability [17]. For AO design, many design metrics has been proposed and published. Ceccato and Tonella [18] have proposed metrics, which include ten different metrics for AOP: Weighted Operations in Module (WOM), Depth of Inheritance Tree (DIT), Number of Children (NOC), Coupling on Advice Execution (CAE), Coupling on Intercepted Modules (CIM), Coupling on Method Call (CMC), Coupling on Field Access (CFA), Response for a Module (RFM), Lack of Cohesion in Operations (LCO) and Crosscutting Degree of an Aspect (CDA). Zakaria and Hosny [19], proposed the effects of AO on International Journal of Computer Science and Security, Volume (1): Issue (2) 2
  • 7. Avadhesh Kumar, Rajesh Kumar, P.S. Grover the C&K metric suite, which are: Weighted Methods per Class (WMC), Depth of Inheritance Tree (DIT), Number of Children (NOC), Lack of Cohesion in Methods (LCOM), Coupling Between Objects (CBO), and Response For a Class (RFC). Zhao [20] has defined another set of complexity metrics in terms of program dependence relations to measure the complexity of an aspect-oriented program from various viewpoints. Once the dependence graph of aspect-oriented program is constructed, the metrics can be easily computed in terms of dependence graph. According to Zhao, following are some salient metrics type designed to measure complexity from various viewpoints: Module-Level Metrics: Module-level metrics are designed based on advice dependence graph (ADG), Introduction dependence graph (IDG) and method dependence graph (MDG). Aspect-Level Metrics: Aspect level metrics can be defined for an individual aspect based on its aspect inter-procedural dependence graph (AIDG). System-Level Metrics: System-level metrics can be defined at the whole system level based on aspect-oriented system dependence graph (ASDG). Li and Offut [21] proposed algorithms for calculating the complete impact of changes made in a given class. They explored the effects of encapsulation, inheritance, and polymorphism. Hsia et al [22] studied the effect of architecture on maintainability. They measured maintainability and its relationship to architecture, especially broadness of the architecture trees. As a result, they found, that maintainability is better for systems with broader trees. Chaumun et al [23]’s change impact model for changeability assessment in object-oriented software systems is applied to programs in C++. In this work, for each of the possible changes identified in C++, the impact is calculated so that necessary actions may be taken to ensure a successful system compilation after change implementation. Jingyue Li et al [24] have studied how AOP eases the adding and replacing the components in COTS-based development. When adding or replacing a COTS component, the main benefit of using AOP in a COTS-based system is that fewer classes need to be changed that using Object- Oriented Programming (OOP). However, using AOP does not ensure that less Lines Of Code (LOC) need to be modified when adding or replacing COTS components. It depends on whether the crosscutting concerns in the glue-code are homogeneous. Using AOP when crosscutting concerns are heterogeneous may not be benificial. 3. ASPECTJ AspectJ [25] is simple general-purpose extension to Java that provides, through the definition of new constructors, support for modular implementation of crosscutting concerns. It enables plug- and-play implementations of crosscutting concerns [26]. AspectJ has been successfully used for modularizing the crosscutting concerns such as synchronization, consistency checking, protocol management and others. AspectJ supports the definition of aspects’ join points, pointcuts, advice and introduction [27]. Join points: Join points represent well-defined points in a program's execution. Typical join points in AspectJ include method calls, access to class members, and the execution of exception handler blocks. Join points may contain other join points. For example, one method call may result in several other method calls before it returns. Pointcuts: Pointcut is a language construct that picks out a set of join points based on defined criteria. The criteria can be explicit function names, or function names specified by wildcards. Advice: Advice is code that executes before, after, or around a join point. You define advice relative to a pointcut, saying something like "run this code before every method call I want to log." Introduction: introduction allows aspects to modify the static structure of a program. Using introduction, aspects can add new methods and variables to a class, declare that a class implements an interface, or convert checked to unchecked exceptions. International Journal of Computer Science and Security, Volume (1): Issue (2) 3
  • 8. Avadhesh Kumar, Rajesh Kumar, P.S. Grover 4. CHANGE IMPACT ANALYSIS Change impact analysis is the task through which the programmers can assess the extent of the change, i.e. the software component that will impact the change, or be impacted by the change. Change impact analysis provides techniques to address the problem by identifying the likely ripple effect of software changes and using this information to re-engineer the software system design [28]. From the viewpoint of separation of concerns in software development, change impact analysis can be performed at many levels of software systems during software evolution, at the specification level, design level, architecture level, code level etc. Our work is focused on code level change impact for AOP and the language for this work we have chosen is AspectJ. 4.1 Code Level Changes in AspectJ Following are possible code level changes in AspectJ: 4.1.1 System level change 4.1.2 Module level change • Add super module • Add member • Delete member • Delete super module • Define/Redefine member • Add sub module • Change member o Change member access • Delete sub module scope • Add a module reference o Change operation signature o Change data member • Delete a module reference o Operation implementation • Add an aggregated module change • Change pointcut • Delete an aggregated module o Add pointcut o Delete pointcut o Signature change of a pointcut With a single change, we are interested in knowing which other parts (operations) in the rest of the system will be affected by this change. A specific part may be affected, in case it is ‘connected’ to the changed component via some link(s) between them. Following are four types of links: Association (S): One module is referencing data variables of another module. Aggregation (G): It is established between two modules when a module definition is based on objects of another module. Inheritance (H): inheritance between two modules means that the derived module can benefit from whatever has already been defined in the base module. Invocation (I): When operations defined in one module are being invoked by operations in another module. We have also considered for impact with in the changed module itself. This type link could be represented as ‘Local’ (L) link. 4.2 Change impact evaluation Module change impact is a numeric value used to express the impact level of one module to others. It considers the factor of contaminates type and relationships among impacted module. For example consider a change in the scope of an attribute from public to default. Modules, which are accessing this attribute from different package, will be impacted but modules, which are accessing from the same package, will not. Similarly, a change in the signature of a pointcut in any module will impact all those modules, which have a join point with matching signature of pointcut. And modules having advice for this pointcut will not be impacted. Adding a new advice, International Journal of Computer Science and Security, Volume (1): Issue (2) 4
  • 9. Avadhesh Kumar, Rajesh Kumar, P.S. Grover for which there are no join points, will cause no impact to any of the modules and change impact will be zero. At this point, we are emphasizing on the type of impact and we are looking for some code level in AspectJ systems. A given change is characterized by a transformation of the code somewhere in the system. If the system is successfully re-compiled, then there is no impact. Otherwise, we are faced with an impact, i.e., code modifications that must be done elsewhere in the system to obtain a syntactically correct code that will re-compile. Semantic issues relating to the code transformation are overlooked at this point because they cannot be inferred from the source code alone. For example, if a variable is added but not used later, we may feel that this addition is useless. But, from a syntactic point of view, we are indeed certain that the system will stand good after re-compiling. Furthermore, since our focus is only on system compilation after a change, the appropriate measures we have to apply are based on impact that is only dependent on the static nature of the source code. To calculate the impact of each identified change, a truth table is set up for that change with the five links appearing in section 4.1. For each row, representing one configuration of these five links, we investigate whether there is impact or not, and the row is marked accordingly. In some cases, it may happen that the state underlying the row cannot exist, and the row is left unmarked. For example, when there is a change in the return type of an abstract method, the rows in which G or I appear cannot be investigated since neither the abstract class can be instantiated as an object (G) nor the abstract method can be invoked (I). For each row, the appropriate Boolean expression is derived and reduced, if possible, and the term “L” is appended if there is local impact. For example, the change impact formulae for a change to each component type are as follows: (i) Impact (Attribute deletion) = S+L, means impacted modules will be modules associated with attribute or local impact (ii) Impact (operation scope change from public to protected) = IH’, means impacted modules will be the modules invoking this operation and not inherited modules from the module having this operation. (iii) Impact (Class deletion) = H+G+S+I, means impacted modules will be inherited or aggregated or associated or due to invocation. In this paper, we have considered changes at system level as well as at module level. The primary goal of the experiment is to analyze empirically whether an AO design metric has any relationship with the impact of a change for the test system. The change considered is the operation signature change; the Boolean expression of its impact is I, meaning there is impact in modules where the operation is invoked. The impact is calculated for the operation signature change on every operation defined in a targeted module, summed for all the operations defined in that module, and divided by the number of operations of that module. We will call this average value “change- impact” of the module. The metric chosen to correlate is the WOM metric, which in our experiment, is equal to the number of operations defined in a module. 5. AOP CHANGE IMPACT: A CASE STUDY 5.1 System tested AOP projects that we have taken for testing, having 149 modules, are re-engineered using AspectJ, which originally were university projects developed using Java/Servlets having 129 modules. We extracted the Ceccato and Tonella metrics [15] with the help of the tool developed and provided by Ceccato and Tonella, for AOP metrics, which computes all the proposed measures for code written in the AspectJ language. The tool exploits a static analyzer developed in TXL [29]. The descriptive statistics of the metrics distribution is given in table-I. Waited Operations per Module (WOM) metric refers to the sum of the complexities of all the operations defined in a module. We have assumed operation complexity to be one for all the operations or we can say WOM have been taken as Number of Operations per Module (NOM). International Journal of Computer Science and Security, Volume (1): Issue (2) 5
  • 10. Avadhesh Kumar, Rajesh Kumar, P.S. Grover Table-I: Summary of AOP metrics for the tested systems Min Max Mean Median Std. Dev. WOM 0.0 17.0 3.2 2.0 0.33 DIT 0.0 2.0 0.36 0.0 0.048 NOC 0.0 26.0 0.31 0.0 0.25 CAE 0.0 3.0 0.45 0.0 0.046 CIM 0.0 1.0 0.34 0.0 0.046 CMC 0.0 6.0 1.39 1.0 0.144 CFA 0.0 3.0 0.22 0.0 0.592 RFM 0.0 4.0 1.06 1.0 1.131 LCO 0.0 7.0 1.04 1.0 0.56 CDA 0.0 39.0 1.0 0.0 0.381 Table-I cont.. We have categorized 149 modules in three groups. • Group 1: Modules contain 1 to 2 operations (51 modules). • Group 2: Modules contain 3 to 7 operations (62 modules). • Group 3: Modules contain at least 8 operations (36 modules). In our sample projects, Inheritance level is not too high. It is maximum 3 and average inheritance level is less than 1. Average numbers of operations per module are 3.2, which indicates, proper decomposition has been taken care. We have tested 44 modules from Group 1, 40 modules from Group 2, and 20 modules from group 3 randomly. Most of the changes performed are at module level and few changes are at system level. Total numbers of tested modules that we have performed randomly in this case study are 104. On these 104 tested modules, we have evaluated change impact. 5.2 Impact Results In all 104 tested modules, the change impact numeric value is given in fig. 1. Minimum change impact is 0.0 and maximum is 7.50. Average change- impact with a single change is 0.77 for all three projects. Table-II summarized descriptive statistics of the impact results for the modules. The mean value of module impact increases from group 1 to group 3. In group 1, majority of the programs are with aj extension (Aspects) and in group 3, majority of the programs are with java extension (classes). We have calculated statistically values like mean, median and standard deviation of the change impact values for the modules. Table-II: Descriptive statistics of the impact results for the three groups Group1 Group2 Group3 (1-2 operations) (3-7 operations) (7+ operations) Total Module Present 51 62 36 Total Module Tested 44 40 20 Impact Module Module Module Min 0.00 0.00 0.50 Max 7.50 3.00 5.33 Mean 0.53 0.64 1.56 Median 0.00 0.00 1.50 Std.Dev. 0.20 0.13 0.28 We have also evaluated correlation factor between metric WOM and change impact, which is 0.41. Similarly we tested original OO projects, which were developed with Java/Servlets. Out of 129 modules (classes), we tested 104 modules randomly and evaluated average change impact as a whole for all three projects, and it was found to be 0.87. We also separated above change impact data project wise and evaluated average value of change impact for OO and AO systems. Descriptive statistics of the average impact results for the three projects are given in table-III. In International Journal of Computer Science and Security, Volume (1): Issue (2) 6
  • 11. Avadhesh Kumar, Rajesh Kumar, P.S. Grover OO systems, project 1, project 2 and project 3 are with 29, 64 and 36 classes respectively and out of these 20, 52 and 32 classes are tested .In AO systems, project 1, project 2 and project 3 are with 34, 72 and 43 modules respectively and tested modules are same as in OO systems i.e. 20, 52 and 32 respectively. Table-III: Descriptive statistics of the impact results for the three projects Project 1 Project 2 Project 3 (20 modules tested) (52 modules tested) (32 modules tested) OO AO OO AO OO AO Average change 0.89 0.75 0.76 0.81 0.91 0.78 impact 6. RESULTS Interpretation of the result is as follows: I. Since mean value of change impact is 0.77 for whole systems which is less than 1, which means a single change at code level will impact, on average, not more than one module. II. Mean value of change impact increases from group 1 to group 3 that means change impact increases with increase in number of operations in the module i.e. in AO systems, if number of operations per module are increasing then such systems’ maintainability will increase. Thus such systems are required to decompose properly. III. Average change impact in AO systems is less than the average change impact in OO systems as a whole that means AO systems are easily maintainable than OO systems. But when we evaluated it project wise, we found that in project 2, OO system mean change impact is less than that of AO system, that means a code level change in AO systems not always cause less change impact to other modules than a code level change in OO system or in other words in some cases OO system is easily maintainable than AO system. This empirical result may be because of aspect mining has not been taken care properly. IV. Correlation factor with change impact and WOM is found to be 0.41, which is not too high, which means there is not too strong relationship between WOM and change impact. So, WOM metric can be used as an indicator for changeability analysis, but not too strong indicator for changeability characteristic. 7. CONSLUSION & FUTURE WORK In this paper, we measured the changeability characteristic of AO software projects. We evaluated the change impact with real system. Projects that we have considered for testing are AspectJ projects. The change impact is evaluated for each of the possible code level changes so that required changes should be made to ensure a successful system compilation after change implementation. Result shows that a single change at code level will cause impact to other modules.On an average change impact value is less than one; this implies that not more than one module is impacted with a single change or we can say a change is easily absorbable in AO system. By increasing in WOM metric value, change impact is also increasing. It indicates that with increase in WOM value, will cause increase in maintainability. Correlation factor between WOM and change impact is found to be 0.41, which is week. It indicates that WOM can be used as an indicator for changeability or maintainability but not as a strong indicator. Average change impact in AO system was found less than that in OO system, which suggests that AO system can absorb more changes compare to OO system. In other words, AOP are easily maintainable than OOP. But if at the time of reengineering OO system to AO system, concerns which are not crosscutting, are mined to aspect, may cause resultant system more International Journal of Computer Science and Security, Volume (1): Issue (2) 7
  • 12. Avadhesh Kumar, Rajesh Kumar, P.S. Grover complex. In such cases AO systems maintainability will be more difficult than that of OO systems. In future, this technique may be used to compare maintainability of different AO Systems. 8. REFERENCES [1]. Jorgen Boegh, Stefano Depanfilis, Barbara Kitchenham, Alberto Pasquini, “A Method for Software Quality Planning, Control, and Evaluation” IEEE Journal, pp-69-77, March-1999. [2]. Ho-Won Jung; Seung-Gweon Kim; Chang-Shin Chung, “Measuring software product quality: a survey of ISO/IEC 9126”, Software, IEEE,Volume 21, Issue 5, pp-88-92, Sep-Oct-2004. [3]. T. M. Pigoski. Practical Software Maintenance. John Wiley & Sons, New York, pp-384, 1997. [4]. H.D. Rombach. “Design measurement: Some Lessons Learned”. In IEEE Software, Vol. 7, No. 2, pp- 17-25, 1990. [5]. Tzilla Elrad, Robert E. Filman, Atef Bader, “Aspect-oriented programming: Introduction”, Communication of the ACM Volume 44, Issue 10, pp-29-32, October 2001. [6]. K. Lieberher, D. Orleans, and J. Ovlinger, “Aspect- Oriented Programming with Adaptive Methods,” Communications of the ACM, Vol.44, No.10, pp.39-41, October 2001. [7]. Avadhesh Kumar, Rajesh Kumar, P.S. Grover, “A Comparative Study of Aspect-Oriented Methodology with Module-Oriented and Object-Oriented Methodologies”, ICFAI Journal of Information Technology, Vol IV, pp- 7-15, Dec 2006. [8]. Aldrich, J., Open Modules: “A Proposal for Modular Reasoning in Aspect-Oriented Programming”, Carnegie Mellon Technical Report CMU-ISRI-04-108, 2004 (Earlier version appeared in Workshop on Foundations of Aspect-Oriented Languages.). [9]. M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, & T. Tourw, “A qualitative comparison of three aspect mining techniques”, Proc. of the International Workshop on Program Comprehension (IWPC), 2005. Proceedings. 13th International Workshop on 15-16, pp-13-22, May 2005. [10]. S. Iorwitz, T. Reps and D. Binkley, " Interprocedural Slicing Using Dependence Graphs", ACM 7~ransoction on Programming Language and System, Vol.12, No.l, pp.25-fiO, 1990. [11]. D. Hung, J. Gao, P. Hsia, F. Wen, Y. Yoyoshima, and C. Chen, "Change Impact Identification in Object-Oriented Software Maintenance," Prec. lutervmtional Conference on Software Mointenonce~ pp.202-211, 1994. [12]. L. D. Larsen and M. J. Harrotd, "Slicing Object-Oriented Software," Proceeding of the 18th International Conference on Software Engineering, German, March, 1996. [13]. J. P. Loyall and S. A. Mathisen, "Using Dependence Analysis to Support the Software Maintenance Process," Prac. International Conference an SoJimarc Maintenance, 1993. [14]. J. Zhao, "Slicing Concurrent Java Programs," Prec. Seventh IEEE International Workshop on Program Comprehension, pp.12fi-133, May 1999. [15]. Jianjun Zhao, “Change Impact Analysis for Aspect-Oriented Software Evolution” Proceedings of the International Workshop on Principles of Software Evolution, pp. 108-112, 2002. International Journal of Computer Science and Security, Volume (1): Issue (2) 8
  • 13. Avadhesh Kumar, Rajesh Kumar, P.S. Grover [16]. Avadhesh Kumar, Rajesh Kumar, P.S. Grover, “A Change Impact Assessment in Aspect- Oriented Software Systems”, International Software Engineering Conference Russia 2006 (SECR-2006), pp-83-87, Dec 2006. [17]. H.D. Rombach. “Design measurement: Some Lessons Learned”, In IEEE Software, Vol. 7, No. 2, pp- 17-25, 1990. [18]. M. Ceccato & P. Tonella, “Measuring the effects of software aspectization” , Proc. 1st Workshop on Aspect Reverse Engineering in conjunction with the 11th IEEE Working Conf. on Reverse Engineering, Delft University of Technology, Netherlands, November 9th, 2004. [19]. A. A. Zakaria and H. Hosny. “Metrics for aspect-oriented software design”. In AOM: Aspect- Oriented Modeling with UML, AOSD, March 2003. [20]. J. Zhao. “Towards A Metrics Suite for Aspect-Oriented Software”, Technical-Report SE- 2002, Information Processing Society of Japan (IPSJ), pp. 136-25, 2002. [21]. L. Li and A. J. Offutt. “Algorithmic Analysis of the Impact of Changes to Object-Oriented Software”, in ICSM96, pp- 171-184, 1996. [22]. P. Hsia, A. Gupta, C. Kung, J. Peng and S. Liu. “A Study of the Effect of Architecture on Maintainability of Object-Oriented Systems”, In ICSM95, Nice, France, pp- 4-11, Oct 17-20, 1995. [23]. M. Ajmal Chaumun, Hind Kabaili, Rudolf K. Keller, and François Lustman., “A Change Impact Model for Changeability Assessment in Object-Oriented Systems”, Science of Computer Programming, vol.45 pp- 155-174, 2002. Elsevier Science Publishers. [24]. Jingyue Li, Axel Anders Kvale and Reidar Conradi “A Case Study on Improving Changeability of COTS-Based System Using Aspect-Oriented Programming”, Journal of Information Science and Engineering, Vol. 22 No. 2, pp- 375-390, March 2006. [25]. The AspectJ Team. The AspectJ Programming Guide. 2003. [26] V. C. Garcia, E. K. Piveta, D. Lucrédio, A. Álvaro, E. S. Almeida, L.C. Zancanella, & A.F. Prado, “Manipulating crosscutting concerns” , Proc. 4th Latin American Conf. on Patterns Languages of Programming (SugarLoafPLoP), Porto das Dunas, CE, Brazil, 2004. [27]. Kiczales, G. et al. “Getting Started with AspectJ”. Communication of the ACM, vol. 44, no.10, pp-59-65, October 2001. [28]. M. A. Chaumun. “Change Impact Analysis in Object-Oriented Systems: Conceptual Model and Application to C++”, Master’s thesis, Université de Montréal, Canada, November 1998. [29]. J. Cordy, T. Dean, A. Malton, and K. Schneider. “Source transformation in software engineering using tihe TXL transformation system”, Information and Software Technology, 44(13): pp-827–837, 2002. International Journal of Computer Science and Security, Volume (1): Issue (2) 9
  • 14. Manoj Devare and Ajay Kumar Congestion and Flow Control in Homogeneous and Heterogeneous Networks: Discrete Event Simulation Model Manoj Devare manojdeore@rediffmail.com Vidya Pratishthan’s Institute of Information Technology, Baramati (MS),413133- India Ajay Kumar ajay19_61@rediffmail.com Modern College of Engineering, Pune (MS)-411005, India Abstract This Paper provides a study and review of existing congestion control algorithms in various types of homogenous and heterogeneous networks. To test the new methodology for the congestion and flow control we have used the two different discrete event simulation tools. The OPNET simulation tool is used to find out performance of the TCP reliable protocol for built-in congestion control mechanism. The second part is for simulation of existing congestion control algorithm (AIMD-Additive Increase Multiplicative Decrease) and new suggested congestion and flow control algorithm using OMNeT++ discrete event simulation. Keywords: AIMD, discrete event simulation, advertise window, congestion window. 1. INTRODUCTION Congestion control is the efforts made by network nodes to prevent or respond to overload conditions. We use concept of ‘fairness’ i.e. try to share pain among the all users, rather than causing great pain to a few. Many congestion control mechanism having built in notion of resource allocation. Flow control is keeping fast sender form overrunning a slow receiver. Congestion control keeps a set of senders form sending too much data into network because of lack of resources at some point. In other words the bandwidth is also known as throughput. The term throughput is used to measure the performance of the system. Congestion control and resource allocation involves both host and network elements such as routers. Congestion and resource allocation are two sides of same coin involves host and network elements such as routers. The queuing discipline can segregate traffic. As congestion and resource allocation is not isolated to single level of protocol hierarchy. Resource allocation is process by which network elements try to meet the competing demands that application have for network resources. Resources are link bandwidth and buffer space in routers or switches. The problem is for refusing the users. The congestion controlling algorithms are categorized into “box is black”, “box is gray” and “box is green”. This type of categorization is done on the basis of knowledge of it’s state. In case “box is black” category no knowledge of it’s state , other than binary feedback upon congestion. The algorithms AIMD-FC, Binomial mechanism, SIMD, HIGHSPEED-TCP, BIC-TCP and other generations of AIMD are included in this first category. The “Box is Gray” category use International Journal of Computer Science and Security, Volume (1): Issue (2) 10
  • 15. Manoj Devare and Ajay Kumar measurements to estimate available bandwidth, level of contention or even the temporary characteristics of congestion. Due to possibility of wrong estimations and measurements, the network is considered a gray box. The TCP-VEGAS, FAST-TCP, TCP-REAL, TCP-WESTWOOD [13][16], TFRC, TCP-JERSEY are some the algorithms. The “Box is Green” consist of bimodal congestion control, which calculates explicitly the fair-share, as well as the network assisted control, where the network communicates it’s state to the transport layer. The ‘green’ category includes VCP, XCP and JETMAX approaches to control the congestion [15]. TCP is always under research for the checking the performance of the network under satellite networks the work is done by performance analysis is done for “TCP Spoofing” using ns-2. The simulation is to analyze spoofing over a large range of file sizes and under various congested conditions, while prior work on this topic has primarily focused on bulk transfers with no congestion.[3] The investigation regarding the fundamental problem of achieving the system optimal rates, which maximize the total user utility, in a distributed network environment using only the information available at the end hosts. This is done by decomposing the overall system problem into sub problems for the network and for the individual users and introducing an incentive-compatible pricing scheme. This is done using a window based algorithm to provide an algorithm for the network to adjust its prices and the users to adjust their window sizes such that at an equilibrium the system optimum is achieved. [4]. The work regarding uses emulations to explore the benefits of adding selective acknowledgments (SACK) and selective repeat to TCP. Comparison of Tahoe and Reno TCP, the two most common reference implementations for TCP, with two modified versions of Reno TCP[ 5]. The variable structure congestion control(VCP) protocol is developed from basic TCP[6]. TCP New Jersey, which is capable of distinguishing wireless packet losses from congestion packet losses, and reacting accordingly. TCP New Jersey consists of two key components, the timestamp-based available bandwidth estimation (TABE) algorithm and the congestion warning (CW) router configuration. TABE is a TCP-sender-side algorithm that continuously estimates the bandwidth available to the connection and guides the sender to adjust its transmission rate when the network becomes congested.[7] The first implementation of the MaxNet TCP network congestion control protocol. MaxNet uses explicit multi-bit signaling from routers to achieve high throughput and low latency over networks of arbitrary capacity and topology, and virtually any delay. The MaxNet algorithm is extended in this paper to give both provable stability and rate fairness. The implementation is based on the Linux Traffic Control framework. The system consists of a sender and receiver TCP algorithm as well as a router module[8]. In heterogeneous networks, TCP connections that incorporate a terrestrial or satellite radio link are greatly disadvantaged with respect to entirely wired connections, because of their longer round trip times (RTTs). To cope with this problem, a new TCP proposal, the TCP Hybla, is presented and discussed in the paper[9]. The work on retransmission ambiguity is done in some papers for RTT.[10]. The research related with wireless frame traffic is studied in various ways [12]. The physical flow-based congestion management allocation mechanism for multiple transaction networks is given to characterize the transmission congestion [17] . The transient behaviors of TCP friendly Congestion control protocol is analyzed with analytically as well as the simulated environments given in GAIMD, TFRC and TEAR[18]. The sender-based approach for multicast congestion control targeted towards reliable bulk data transfer is done by using ns-2 simulator for finding dynamically worst congested path in multicast tree in TCP friendly environment[19]. Determine near-optimal policies when the available bandwidth is unchanging, and near-optimal competitive policies when the available bandwidth is changing in a restricted manner under the control of an adversary. The focus on regulating the rate of a single uni-cast flow when the bandwidth available to it is unknown and may change over time.[20]. The approach in maintaining Quality of Service(QoS) adopting equation-based congestion control (EBRC) for differentiated services instead of traditional TCP congestion control for best-effort service. The congestion proactive Sender functionality, packet loss control mechanism in routers and receiver functionality are differentiated and implemented in some approaches[21]. The uniform solution accommodating both responsive and unresponsive traffic International Journal of Computer Science and Security, Volume (1): Issue (2) 11
  • 16. Manoj Devare and Ajay Kumar with trivial overhead by ignorance of rate adaptation is found in a novel RED-based hop-by-hop congestion control mechanism which is based on the coordination of the routers and the hosts. No per-flow state information is maintained in the routers [22].The theory of window based unicast congestion control and use of fairness and efficiency found in the GAIMD and TCP [23]. The various approaches of the congestion control and flow control in the network environment are done as work of the applying different counter measures across the various criteria. TCP implements a highly tuned congestion control mechanism. The OPNET is major tool used for the network performance optimization [11]. The counter measures applied are making stop mechanism to the senders so that avoid the overloading of network. The available bandwidth estimation is again one of the factor for the detecting how many packets it can safely transit. It maintains the state variable for each connection, called the congestion window, which is used by the source to limit how much data it is allowed to have in transit at a given time. The various rising numbers are indication of the congestion is more in the network. So if we are able to reduce the statistics of these factors, we are able to control the congestion. Some of the factors such as percentage of all packets discarded for lack of buffer space,[1] average queue length, number of packets that time out and retransmitted, average packet delay, and standard deviation of packet delay. The existing algorithms are made to reduce this statistics across the various levels. 2. BACKGROUND TCP interprets timeouts as sign of congestion. It maintains state variable for each connection, called the congestion window, which is used by the source to limit how much data it is allowed to have in transit at a given time. TCP uses mechanism, called Additive Increase Multiplicative Decrease (AIMD), that decreases the congestion window when the level of congestion goes up and increase the congestion window when the level of congestion goes down. Each time a timeout occurs, the source sets the congestion window to half of the previous value. This halving corresponds to the multiplicative decrease part of the mechanism.[2] The congestion window is not allowed to fall below the size of the packet i.e. the TCP maximum segment size (MSS). This halving corresponds to the multiplicative decrease part of the mechanism. Each time the source successfully sends a congestion window’s worth of packets, it adds the equivalent of one packet to the congestion window; this is additive increase part of the mechanism. TCP uses a mechanism called slow start to increase the congestion window “rapidly” from a cold start in TCP connections. It increases the congestion window exponentially, rather than linearly. Another one mechanism TCP utilizes is fast retransmit and fast recovery. Fast retransmit is heuristic that sometimes triggers the transmission of dropped packet sooner than regular timeout mechanism. The end-to end transmission protocol is used analyze the size to the congestion window with different mechanism. The inbuilt TCP have a TCP congestion control is for each source to determine how much capacity is available in the network, so that it knows how many packets it can safety have in transit. 3. METHODOLOGY Discrete-event-simulation concerns the modeling of system as it evolves over time by representation in which the state variables change instantaneously at separate points in time. In mathematical terms, we might say that the system can change at only a countable number of points in time. These points in time are the ones at which an event occurs, where an event defined as an instantaneous occurrences that may change the state of the system. Although discrete event simulation could conceptually be done by hand calculations, the amount of data that must be stored and manipulated for most real-world systems dictates that discrete event simulation can be done by digital computers[14]. The same theme of DES is represented in figure 3 The AIMD algorithms with basic formulae are represented in this section. Effective Resource allocation is to maximize power given by. International Journal of Computer Science and Security, Volume (1): Issue (2) 12
  • 17. Manoj Devare and Ajay Kumar Power= Throughput / Delay …………………………………………………………………(1) Delay= (Depart Time – Arrival time) +Transmission Time + Latency……………………(2) Throughput = Packets per second X Bits per Packets…………………………………….(3) Latency =Propagation + Transmit + queue…………………………………………………..(4) Propagation = Distance / Speed of Light……………………………………………………..(5) Transmit = Size/ Bandwidth……………………………………………………………………(6) Throughput=Transfer size/ Transfer Time……………………………………………………(7) Transfer Time= RTT + (1 / Bandwidth) X Transfer Size……………………………………..(8) Latency is the time required for a packet to traverse the network from source to destination. Our evaluations of latency are on zero-load latency of the network. This ignores latency due to contention with other packets over shared resources. If simulation includes contention latency, latency becomes a function of offered traffic and it becomes instructive to plot this function. Bandwidth is measure of width of frequency band. It is measured in Hertz.(range of signals that can be accommodated. If we talk about the width of a communication link, we refer to the number of bits per second that can be transmitted on the link. In TCP congestion control mechanism each source is determines how much capacity is available in the network, to transmit the number of packets. The Additive Increase and Multiplicative Decrease (AIMD) decreases window size when congestion level goes to high. The simulation model here developed in OMNeT++. The model developed for calculating the “advertise window” for flow control and Congestion Window for AIMD. The various factors with small modification in the basic algorithm are implemented for further calculation of throughput and delay (latency). 4. EXPERIMENTAL ANALYSIS AND RESULTS The simple model for flow control is created by using OMNeT++ discrete event simulation modeling. The events are processing with respect to the packet or message arrived at any module. The idea is to increase the Advertise window size (by some factor) if acknowledgement of the packet is received. The sink sends the Advertise window size to the source. The model is as show in figure 1. The same Advertise Window is considered as the main factor in Congestion control to increase it for the multiple sources environment. The new term introduced is “Congestion Window”. FIGURE 1: Simple Model for Flow Control Using OMNeT++ International Journal of Computer Science and Security, Volume (1): Issue (2) 13
  • 18. Manoj Devare and Ajay Kumar FIGURE 2: Simple Model for AIMD Congestion Control Using OMNeT++ Figure 3: Simulation Time in Model with Three Sources and Two sinks Figure 4: The time series for “Process” module. International Journal of Computer Science and Security, Volume (1): Issue (2) 14
  • 19. Manoj Devare and Ajay Kumar The figure 3 explains the simulation events happened in the timeline chart. The Y-axis shows the increasing events with respective to the x axis as the events times. The results we observed are show in graph in figure 3 and figure 4. The OMNeT++ is simulation programming tool. We tested the results in OPNET. The results for the TCP congestion window size is shown in figure 5, 6, and 7 . The traffic is considered as the multi-scale integrated traffic. The nature of algorithm is tested and graphs plotted to check across the results with OMNeT++ Simulator. Figure5: Size of window with Drop fast, drop no fast and no drop scenario FIGURE 6: Sent Segment Sequence Number in TCP. International Journal of Computer Science and Security, Volume (1): Issue (2) 15
  • 20. Manoj Devare and Ajay Kumar FIGURE 7: Sent Segment Sequence Number and Congestion Window Size in TCP Detailed View 5. CONCLUSION & FUTURE WORK The AIMD is increases the window size as the acknowledgement is received for every packet sent by the source. But missed packet acknowledgement may reduces the Congestion Window size and performance decreases. The mechanism to raise the congestion window for slow raising is good idea to improve the performance of the AIMD. Plotting graphs of segment sequence number remain unchanged with every drop in the congestion window. The drop-no- fast scenario have slowest growth in sequence numbers as compared with no-drop and drop-fast scenario. We have given the comparison of the simulations across two different simulating environment is cross checking mechanism. As shown in figure 4 the OMNeT++ simulation with our own idea of slowly increase can gives resulting scene of the throughput over the figure number 6 and 7 of three different scenarios of the TCP. Future Work: Calculating a fairness index for set of outputs to find out resources allocation in the network. Fairness index can be calculated as. Given a set of flow throughputs (x1,x2,x3…xn) (measured in consistent units such as bits/second).[paterson] 6. REFERENCES 1. Guido Appenzeller, Isaac Keslassy et.al., “Sizing Router Buffers ” ,SIGCOMM’04 Aug. 30, Sept. 3, 2004, Portland Oregon, USA. 2. Larry L. Peterson, Bruce S. Davie, “Computer Networks- A System approach”, 3rd Ed., pp.450. 3. Joseph Ishac et. al, “On the Performance of the TCP Spoofing in Satellite Networks”, NASA/TM--2001-211151, pp 1-6. 4. Richard J. La and Venkat Anantharam ,“Window-Based Congestion Control with Heterogeneous Users”, IEEE INFOCOM 2001, PP 1320-1329. 5. Kevin Fall and Sally Floyd, “Simulation-based Comparisons of Tahoe, Reno, and SACK TCP”, Scientific work US dept. of Engergy. pp1-20 6. Yong Xia et. al, “One More Bit Is Enough”, SIGCOMM’05, August 2005, Philadelphia.pp1-16 7. Kai Xu, Ye Tian et.al, “Improving TCP performance in integrated wireless communications networks”, Elsevier Computer Networks 47 (2005) pp. 219–237. 8. Lachlan L Andrew et.al, “MaxNet:Theory and Implementation”,WAN-in-Lab project, pp1- 11 International Journal of Computer Science and Security, Volume (1): Issue (2) 16
  • 21. Manoj Devare and Ajay Kumar 9. Carlo Caini et. al, “ TCP Hybla: a TCP enhancement for heterogeneous networks”, 2004 International Journal Of Satellite Communications And Networking, pp .547–566 10. Phil Karn “Improving Round-Trip Time Estimates in Reliable Transport Protocols”, ACM SIGCOMM, pp.67-74. 11. Sameh H. Gawanmeh et. al.,” Wireless Network Performance Optimization using OPNET Modeler ”, Information Technology Journal 5(1) pp.18-24, 2006. 12. Ge Xeaohu and Zhu Yoating, ” Research on Frame Traffic of Wireless Local Area Network ”, Information Technology Journal 6(4) pp.595-596, 2007. 13. IETF RFC 793, “Transmission Control Protocol ”, www.ietf.org/rfc.html 14. Averill M.Law, W.David Kelton, “Simulation, Modeling and Analysis” , McGraw-Hill Edition 2003, pp. 6-7 (2003). 15. Lefteris Mamtas, Tabias Harks et. al., “Approaches to congestion Control in Packet networks”, Journal of Internet Engineering Vol.1, No.1,Jan 2007, pp.22-33. 16. S.Mascolo, C. Casetti, et. al, “TCP Westwood: Congestion Control with Faster- Recovery”, UCLACSD TR#20017, pp. 1-14. 17. Shu Tao and George Gross, “A Congestion-Management Allocation Mechanism for Multiple Transaction Networks”, IEEE Transactions on Power SystemsVol.17.No.3 August 2002.pp.826-833. 18. Yang Richard, Min Sik Kim et. al, “Transient Behaviors of TCP-friendly Congestion Control”, IEEE INFOCOM 2001 pp.1716-1725. 19. Sherlia Shi and Marcel Waldvogel, “A Rate-based End-to-end Multicast Congestion Control Protocol”, IEEE NSFgrant number: ANI-9714661,pp. 678-686(2000) 20. Richard Karp, Elias Koutsoupias et.al ,“Optimization Problems in Congestion Control ”, IEEE pp.66-74(2000). 21. Wanmang Luo, Chuang Lin et.al, “A Congestion Control Mechanism supporting QoS Requirements”, IEEE(2001), 0-7695-1381-6/01,pp. 55-60. 22. Bin Pang, Xi-Cheng Liu et. al, “A Novel RED-Based Hop-by-Hop Congestion Control”, 0- 7695-1381-6/01IEEE(2001). 23. Nishanth R. Sastry and Simon S. Lam, “A Theory of Window-based Unicast Congestion th Control”, Proceedings of the 10 IEEE Computer Society International Conference on Network Protocols (ICNP’02), pp.(2002) International Journal of Computer Science and Security, Volume (1): Issue (2) 17
  • 22. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi Analysis of parameter for Local Colour Scale in Ion Trajectories J. M. Sharif johan@utm.my Department of Computer System & Communication Universiti Teknologi Malaysia UTM Skudai, 81310, Johor, Malaysia M. S. A. Latiff shafie@utm.my Department of Computer System & Communication Universiti Teknologi Malaysia UTM Skudai, 81310, Johor, Malaysia M. A. Ngadi dr.asri@utm.my Department of Computer System & Communication Universiti Teknologi Malaysia UTM Skudai, 81310, Johor, Malaysia Abstract Spatio-temporal dataset is a collection of datasets where data is vary in both space and time. Theoretically, such a datasets can be considered as a continuous and discrete. For example, specification of the function, F : E d × T → R n , where E d denotes d- dimensional Euclidean space, T = R∗ ∩ {∞} the domain of time and R n an n-dimensional scalar field. Examples, of such data sets include time-varying simulation results, films and videos, time-varying medical datasets, geometry models with motion or deformation, meteorological measurements and many more. It is therefore highly desirable to use visualisation to summarize meaningful information in higher dimensional spatio-temporal data sets. In physics, ion trajectories has totally relied on statistical analysis from experimental and computer simulation results [1-5]. To help the physicists to identify and trigger the timeline and collaborative events in ion trajectory, we need the codes to distinguish the events according to timeline-based events. In coding theory, we need such a code that can represent each of the events in timeline series. Moreover, the code itself must help in identifying and trigger the events if there is a collaborative event among chaotic movements of ion trajectories. In particular, we propose a Colour Number Coding Scheme for depicting the time series of ion trajectories [6]. We discuss the method of depicting the time series in relation to the encoding series of timeline events in ion trajectories. We also point out some of the advantages of this method in terms of accuracy according to human observer. Keywords: coding theory, spatio-temporal, ion dynamics, streamline, colour scale, visual representation 1. INTRODUCTION The transport of ions within aperiodic glass structures has remained an enigma for many years, the resolution of which will be critical for explaining the huge versatility of glass in technology, including its homogeneity, and its electrical, mechanical and chemical characteristics. Physicists has proposed a International Journal of Computer Science and Security, Volume (1): Issue (2) 18
  • 23. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi variety of ionic conduction models, ranging from the correlated forward and backward hopping of single cations [7], to collaborative process involving the transport of many mobile cations [8-10]. Experimentally, the collaborative character of ion trajectories in glasses can be inferred from dielectric and ion transport properties. The existence of such collaborative phenomena was suggested by examining ionic conductivity data, tracer diffusion measurements and dielectric data collected from experiments [10- 12]. However experimental data, which measures macroscopic properties and lacks in structural periodicity, does not provide any description of the atomic structure and trajectories. Any detailed observation of spatio-temporal collaborative in ion trajectories is not possible at moment. The glass structure and trajectories over the spatial and temporal scales relevant to the diffusion processes therefore remain undetermined at large from the experiments. With the advance of computational science, large scale simulations of molecular trajectories, followed by statistical analysis, have resulted in better comprehension of ion trajectories in glasses. These approaches have established the clustering of alkalis [1, 3, 4], and identified both localized hopping and long-range collaborative jumps [13]. Collaborative transport is less likely at low temperature or at low alkali concentration, and in mixed alkali compositions [8, 14, 15]. This latter phenomenon is known as the mixed- alkali effect and has been interpreted by involving an energy penalty, which inhibits hops to sites previously occupied by a different alkali type [16]. Many of these ideas beg the question of visualisation to clarify the relationship between glass structure and ion trajectories at the local level. In a comprehensive study of single and mixed alkali glasses, 1080 atom models of composition ( Na(1− x ) K x ) 2 Si2O5 have been calculated using the Molecular Simulation Package. In these models [17], Si (silicon) and O (oxygen) atoms form the silicate network, which hosts alkali Na (sodium) and K (potassium) ions in a number of suitable spatial domains. The short-range Van der Waals interactions are modelled by the Buckingham potential :  r  C U (ri , j ) = A exp  − i , j − 6  ρ  ri , j where U and ri , j denote the energy and the interatomic distance for the pair of atoms i and j respectively. The long-range Coulomb interactions are handled via the standard Ewald sum. In order to form the silicate network, the model potential for the 0-0, 0-Si interactions is based on that of [18], and three-body components are used to control the 0-Si-O and Si-O-Si angular distributions U (θ i , j , k ) where θi , j ,k , is angle formed by atoms i, j and k. Simulations of the trajectories have been performed at the fixed temperature of 1800K and over duration of 20-100ps. They involve the integration of Newton's equations of motion for each time step an each atom, which allows the calculation of the individual atomic trajectories over time. At this temperature, a fraction of the alkali Na and K ions can be mobile, travelling through a comparatively frozen silicate network. Studying the complicated events that result in ion migration from statistical functions, however, has proved elusive in the past. Most ions stay close to the same position over time, but some can move a considerable −11 distance, typically within about 10 seconds. The latter events have been interpreted as collaborative [13] and the analysis of time series events also conducted [5]. Using visualisation, it becomes possible for us to probe these complex compositional dependent processes by looking at the choreography of neighbouring ions. The distinction of different mobility of ions can be clearly seen in Figure 1 which shows the movements of neighbouring Na (blue), 0 (cyan) and Si (green) ions in disilicate glasses. Ion tracks are reduced to attractors using the Ruelle-Taken formalism. These are mainly roughly spherical in shape, ion motion being contained within a short distance (< 1010 m) , but the mobile Na ions in the lower half clearly travel much further. International Journal of Computer Science and Security, Volume (1): Issue (2) 19
  • 24. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi FIGURE 1 : Attractors for neighbouring ions are shown for Na2Si2O5 (left) and NaKSi2O5 (right) glasses. Sodium (Na) attractors appear to be more mobile than others, indicating their possible involvement in spatio-temporal collaboration. The simulation results include various thermodynamic properties of the simulated ensemble average, the positions of the bonds between atoms and the trajectories of ions as time-varying series of 3D points, which can be forwarded to the visualisation process. In this work, we are particularly interested in the identification of time series event and collaborative activities from a given collection of such trajectories for ions a,b,….: Pa ,0 , Pa ,1 , ... , Pa , n ; Pb ,0 , Pb ,1 , ..., Pb ,n ; ...... The paper is organized as follows. Firsts, we discuss existing and relevant codes which is available in time-varying visualisation in Section 2 and followed with Section 3 for spatial orientation topic. In Section 4, we divided the explanation into two concrete situations. We introduced our method that’s called Global and Local Colour Scale. In Section 6, we highlight the issue of timeline events which is before collaboration takes place. In this section, we enumerate various parameters which are important in perceiving the accuracy of timeline events. We discuss the pros and cons of using those parameters in our visual representation with the same input datasets. Finally, in Section 7 we concluded our study 2. RELATED WORK Since the late 1990's, researchers in coding theory have been searching for developing, improving, applying or generating a codes. Several applications have been developed, including error controlling system [19], fault tolerant or fault diagnosis/monitoring [20], analysis model [21], developing framework [22] and communication system [23]. Some of the effort combined with another field of research such as complexity theory [24], system theory [25] and test pattern generators [26]. Some researchers borrowed a technique from coding theory concept to solve some research problem such as in testing problems [27], cryptography [28], optical flow [29], adaptive radar [30], algorithm [31] and neural network [32]. However, through the codes itself, many researcher were try to enhance the performance of the codes. For example, Kieffer was study the rate and performance of a sequence codes along a sample sequence International Journal of Computer Science and Security, Volume (1): Issue (2) 20
  • 25. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi of symbols generated by a stationary ergodic information source [33] but differently with Ishikawa, he used to improving the communication performance in hypercube multiprocessor with bus connection through coding theory concept [34]. Some researchers improve the codes in different way such as Vardy used to enhance the codes by minimum distance of the code [35]. Moreover, Garcia and Stichtenoth were shows an algebraic functions field as a useful tool for improving the codes by determine the number of rational places [36]. For Rains, they improved the codes by determine the bound through finding the minimum distance of the codes using the length [37]. In ions trajectory, to help the physicists to identify and trigger the timeline and collaboration events, we need the codes that can be identify the events according to timeline-based events. From the above review, we need such a codes that can represent each of the events in timeline series. Moreover, the code itself must help in identifying and trigger the events if there is a collaboration among the ion trajectories. Many researchers have recently noted that there is a work for solving the problem in some research area with the help of coding theory concept such as in data security [28], optical flow [29], communication channel [30] and neural network [32]. One problem often overlooked when rendering time-varying data sets based on coding theory concept is to associate a particular event with a precise moment on the timeline. This is useful not only for determine the time of an event but also for identification corresponding parties involved in collaboration. Very few researchers has given their attention in literature on timeline encoding especially in codes. Location codes is a labelling technique that represented tetrahedral elements within a mesh. Lee et al. [38] used this technique for labelling triangular faces. There are also a few authors used this idea for their works such as Evans et al. [39] who use an array where the label of a node determines the node location in the array. Thus, Zhou et al. [40] used this strategy to addressing the children and parents in managing the multiresolution tetrahedral volume data. A similar data structure is used by Gerstner and Rumpf [41] for extracting isosurfaces at different levels of details. Location code also has been used in spatio-temporal database research for labeling purpose as well [42]. Since then, there is another labeling scheme has been introduce like LPT code [43]. It was extension from the location code itself. The origin idea for labeling codes has comes from Gargantini [44]. She was introduced the effective way for represented the quadtrees with her codes called gargantini codes. After that, quadcode has been published by Li and Loew [45] for representing geometric concepts in the coded images, such as location, distance and adjacency. Designing efficient image representations and manipulations with bincodes has been proposed by Ouksel and Yaagoub [46]. This codes will represent a black rectangular sub-image in the image. The code is formed by interleaving the binary representations of the x- and y-coordinates of the subimage and its level in the corresponding bintree. Some enhancement had been made on the bincodes itself by Lin et al. [47]. There is few more codes had been introduce in image representation such as sarkar's code [48, 49], logicodes [50], restricted logicodes [50] and symbolic codes [51]. All those codes closely related to the image representation. Since there is no such a codes for time-varying datasets in ion trajectories. Here, we introduced our own codes that can be useful to visualise a series of timelines in ion trajectories [6] [52]. 3. SPATIAL ORIENTATION In this section, we will first examine the more challenging task for visualising temporal information in order to identify the series of events. We will discuss the use of glyph, colour and opacity in our visual representations and present the methods for constructing and rendering composite visualisation that convey a rich a collection of distinguishable visual features for assisting in a visually data mining processing Given an ion trajectory as a series of n+1 points, p0 , p1 ,...., pn , we have n consecutive vector segments, v0 , v1 ,...., vn where vi = ( pi − pi −1 ) . One can visualise such a trajectory using streamlines or vector glyphs. International Journal of Computer Science and Security, Volume (1): Issue (2) 21
  • 26. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi (a) glyph (b) tube FIGURE 2 : Streamlines of trajectory sodium #169 In Figure 2(a) and (b), even though each image, which represents a vector segment, depict the instantaneous velocity at a given time interval with its length or the direction of the motion with its pointer but its does not much help to visualise a time series events in ion dynamics. Probably with this method the viewer might know which ion is moving or static as shown in the Figure 2. In the next section, we will highlight a method that can give more understand about time series events in ion dynamics. 4. TEMPORAL INFORMATION When involving a sequence of timeline events, the complexity task is to reveal the time of an event and the classification corresponding parties which participate in collaboration. But the issues of cooperation or collaboration will not discuss at moment. At the same time, this task will turn into tremendously complicated if there are hundreds or thousands of collaborative events occur. Given an ion trajectory as a series of n+1 points, p0 , p1 ,..., pn , we have n consecutive vector segments, v0 , v1 ,...., vn , where vi = ( pi − pi −1 ) . 4.1 Global Colour Scale Through streamlines itself, it is difficult to differentiate between the top and bottom trajectories, even though they are presenting a motion in opposite directions. In complexity of movement, at the global level, the viewer should be able to observe a global time frame of the ion trajectory before we going into high degree of temporal information. As shown in Figure 3, the purpose of global colour scale had been used because it will help viewer to determine the global time frame for the events. Finally, we introduced our novel method that we called Global Key Colours [6]. FIGURE 3 : Seven Key Colour for Global Colour Scale 4.2 Local Colour Scale International Journal of Computer Science and Security, Volume (1): Issue (2) 22
  • 27. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi In order to correlate each vector segment with the timeline more accurately and hence to improve the differentiation of different vector segments, we introduce a Colour Number Coding Scheme in our visualisation [6]. Given a small set of key colours, c1 , c2 ,...., ck (k > 1) and distinctive interval-colour (e.g., while, black or grey depending on the background colour), we code a group of consecutive m vectors as a k-nary number, terminated by a vector in the interval-colour. Given n as the total number of vectors and we always assign the interval-colour to the first vector, we need to find the smallest integer m that satisfies Equation 1 : (m + 1)k m ≥ n …………………….(1) For instance, when n = 1000, using two key colours, say red and green, we need in m = 7 colour digits. We have m = 5 for k = 3, m = 4 for k = 4, and m = 2 when k reaches 19. The selection of m and k needs to address the balance between a smaller number of colours or a smaller number of colour digits in each group of vectors. The former ensured more distinguishable colours in visualisation, and the alteration reduces the deductive effort for determine the temporal position of each vector. Figure 4 shows a quaternary colour coding scheme for ion tracks with 1000 vectors. FIGURE 4 : Quaternary Colour Coding Scheme for trajectory of sodium #169 As mentioned previously, global colour scale would be able to visualise global time frame only instead of local time frame. In Figure 5 we show a comparison between global and local colour time scale. In this paper we choose quaternary colour coding scheme for local colour scale which is k=4 for our comparison result with global colour scale. According to our result that shown in Figure 5, we understand local colour scale will help the viewer to distinguish each timeline events in ion trajectories and the purpose of global colour scale is to summarise all the timeline events or the global time frame in ion trajectories. International Journal of Computer Science and Security, Volume (1): Issue (2) 23
  • 28. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi Comparison Betw een Tw o Consecutive Key Colour 1200 1000 Number of Ions 800 Global 600 Local 400 200 0 1 2 3 4 5 6 7 Number of Key Colours FIGURE 5 : Comparison between global and local colour scale In the following section, the composition of local colour scale will be elaborated in details. The main concern of this particular section will show the visual representation of local time scale to help the viewer in analysing the collaborative events in future. Moreover it will be a tool for scientists as well in analysing any scientific datasets especially in time-varying datasets. 5. COMPOSITING RENDERING Through composition of above-mentioned colour scales together, we provided an effective visual representation for visualising spatio-temporal of ion trajectories. To simplify the clarification about colour scale we constructed testing trajectories as shown in Figure 6. The top trajectory represents an object travelling from left to right at a constant velocity, the center one travelling in a circle at a constant speed and the bottom one travelling from right to left at a steadily increasing speed. In Figure 6(a), streamline had been coloured by Global Colour Scale. Even though, it can differentiated between the top and bottom trajectories and representing the motion in opposite direction at different speed but this is for global scale viewing only. International Journal of Computer Science and Security, Volume (1): Issue (2) 24
  • 29. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi FIGURE 6: Time Coding Colour Scale Figure 6(b) shows each conical glyph, which represents a vector segment with Local Colour Scale, depict instantaneous velocity at a given time interval with its length and the direction of the motion with its pointer. The combination of method in Figure 6(a) and 6(b) are shown in Figure 7. Initially, the viewers can visualise the global scale only. To let the viewers can see the local scale, the viewers must move closely to the trajectory and they will see the local scale inside the global scale. Figure 7 shows the local colour scale when the viewers come close to the ion trajectories. FIGURE 7 : Zooming effect when viewer come closer 6. OPTIMUM PARAMETER SETTING FOR LOCAL COLOUR SCALE Without this section, we could not complete yet our visual representation. This is another issue that we think we should included in this part because it will support our objective. Initially, we want to show the effectiveness of the local colour scale scheme which is used in our study. Let begin the discussion for visualising time series events in ion trajectories. In this section, we consider the selection of m and k parameter will become main factor in our local colour scale. According to Equation 1, we will shows all possibility of parameter m and k that have been applied on local colour scale. Our goal is to improve the correlation of each vector segment with the timeline event. That is why we introduced a Colour Number Coding Scheme in our visualisation. International Journal of Computer Science and Security, Volume (1): Issue (2) 25
  • 30. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 6.1 Optimum Setting for m’s In Equation 1, when k=2, the minimum value for parameter m is 7 for n=1000. We can increase the value of parameter m until it reaches 1000 which is the maximum number of vector segment. This comparison is illustrated in Table 8. This table shows that when we increase the value of m until 1000, it will loss the accuracy of local scale timeline because it does not give any meaning to the viewers. No M k Image 1. 7 2 2. 8 2 3. 9 2 International Journal of Computer Science and Security, Volume (1): Issue (2) 26
  • 31. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 4. 2 10 5. 2 11 6. 2 22 International Journal of Computer Science and Security, Volume (1): Issue (2) 27
  • 32. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 7. 2 25 8. 2 1000 TABLE 8 : Experimental images for satisfying m parameter 6.2 Optimum Setting for k’s Our next experiment is to satisfy the value of parameter k. In Equation 1, a k will represent the total of colours that will be used. Same with the previous experiment, we can increase the colour, k up to 1000 colours, k=1000. Compare the results that we obtained from Table 9, those images rendered with small value of k are visually distinguishable than the images rendered with the high value of k. No m K Image International Journal of Computer Science and Security, Volume (1): Issue (2) 28
  • 33. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 1. 7 2 2. 5 3 3. 4 4 International Journal of Computer Science and Security, Volume (1): Issue (2) 29
  • 34. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 4. 4 5 5. 4 6 6. 3 7 International Journal of Computer Science and Security, Volume (1): Issue (2) 30
  • 35. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 7. 3 8 8. 3 9 9. 2 256 TABLE 9: Experimental Images for satisfying k parameter 6.3 Analysis of the images In local colour scale, we used quaternary colour scale which m=4 and k=4. A k represent how many colour in one interval. The size of interval determine by m value. Among the interval of group of colours we put separator which is in black colours. When we found where is t=0 at global scale, we will applied transparency scheme to look into local colour scale. In Figure 7, we can see some sort of local colour scale which is started with four red cone, separator, yellow followed by three red cone and so on. This sort of colours represent the series of timeline. International Journal of Computer Science and Security, Volume (1): Issue (2) 31
  • 36. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi If we look into number theory, quaternary number is the sort of k-nary number scheme like binary, tri-nary and etc. Here, we choose four colours which is red, yellow, green and blue. Each colour represent a code such as red = 0, yellow = 1, green = 2 and blue = 3. What are the quaternary number ? Quaternary number consists 0,1,2 and 3. In terms of codes, we want to develop a codes of k-nary number. With m=4 and k=4, we will produce some sort of codes like this : 0000, 0001,0002, 0003, 0010, 0014, … , 4443, 4444. These codes will represent a series of timeline that we will explain later in more challenging task when the cooperation events takes place. For the time being, its just enough to analysis t=0. According to Figure 7, from the portion of t=0 at the global scale, we can see there is sort of red cones and followed by black separator at the beginning of the trajectories. According to our calculation, red cones will represent a 0 value so it is become 0000. If we want to know what is the timeline, we have to simply convert those codeword which from quaternary based number to decimal based number [53-55]. Given the series of the codeword, c1 , c2 ,...., ck (k > 1) . Below we show the way how to find the timeline using our codeword. separator ck-1 …. ci …. c1 c0 k-1 i 1 0 Total = k x ck-1 …. k x ci …. k x ci k x c0 t = (m+1) x total thus separator ck-1 …. ci …. c1 c0 Tt+k Tt+(k-1) …. Tt+i …. Tt+1 Tt+0 Let say, 0000 is the codeword while m and k are assigned to 4. Here, we show how to use the above method to get the timeline. separator 03 02 03 00 3 2 1 0 Total = (4 x 03) (4 x 02) (4 x 01) (4 x 00) t = (4+1) x 0 thus separator 03 02 01 00 Tt+4 Tt+3 Tt+2 Tt+1 Tt+0 T0+4 T0+3 T0+2 T0+1 T0+0 T4 T3 T2 T1 T0 Thus, we understand each of the codeword will help the viewers to determine a local time scale in ion trajectories. It is clear that as the k or m are increased then the accuracy of local colour scale will loss as well. Thus, we need a balance selection between k and m that will satisfied our local colour scale. As a result, we choose m=4 and k=4 for n=1000 that we called quaternary colour coding scheme as shown in Figure 4. 7. CONCLUSION The results show that our colour number coding scheme can be used to allow viewer to determine a time frame at low level in ion trajectories. Traditionally for lower dimensional spatio-temporal datasets are investigated using line graph, bar charts or other pictorial representation of a similar nature and animation, all of which require time-consuming and resources-consuming processes. However, our results indicates that Global and Local Time Scale may be used to visualise a timeline events without line graph, bar charts etc thus enabling the real time imaging of ion dynamics. Our work also can convey temporal information in a high degree of certainty and effective deployment of visualisation in complex spatio-temporal datasets. This enable us to form the basis of visually mining tools for collaborative ion dynamics in future. 8. REFERENCES 1. J. Oviedo and J.F. Sanz, "Molecular dynamics simulation of (na2o)x(sio2)1-x glasses relation between distribution and diffusive behaviour of na atoms". Physics Review B, 1998. 58: p. 9047. 2. P. Jund, W. Kob, and R. Jullien, "Channel Diffusion of sodium in a silicate glass". Physics Review B, 2001. 64. International Journal of Computer Science and Security, Volume (1): Issue (2) 32
  • 37. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 3. E. Sunyer, et al., "Molecular dynamics study of the diffusion of sodium in amorphous silica". Journal of Non- Crystalline, 2002. 939: p. 307-310. 4. A. Meyer, et al., "Channel formation and intermediate range order in sodium silicate melts and glasses". Physical Review Letters, 2004. 93(22): p. 027801.1-027801.4. 5. J. Habasaki, K.L. Ngai, and Y. Hiwatari, "Time series analysis of ion dynamics in glassy ionic conductors obtained by a molecular dynamics simulation". The Journal of Chemical Physics, 2005. 122: p. 054507. 6. J.M.Sharif, M.S.A.Latiff, and M.A.Ngadi. "Development of a novel method for 3D scientific data mining in Ion Dynamics". in 14th Multi-disciplinary Iranian Researchers Conference in Europe (IRCE 2006). 2006. Salford University. 7. K. Funke, "Jump Relaxation in Solid Electrolytes". Progr. Solid State Chem, 1993. 22: p. 111-195. 8. W. Smith, G.N. Greaves, and M.J. Gillan, "Computer Simulation of Sodium Disilicate Glass". The Journal of Chemical Physics, 1995. 103(8): p. 3091-3097. 9. K.L. Ngai, "Analysis of nmr and conductivity-relaxation measurements in glassy Li2S-SiS2 fast-ion conductors". Physical Review B, 1993. 48(18): p. 13481-13485. 10. K.L. Ngai, G.N. Greaves, and C.T. Moynihan, "Correlation between the activation energies for ionic conductivity for short and long time scales and the kohlrausch stretchting parameter b for ionically conducting solid and melts". Phys. Rev. Lett, 1998. 80: p. 1018-1021. 11. G.N. Greaves and K.L. Ngai, "Reconciling ionic-transport properties with atomic structure in oxide glasses". Phys. Rev. B 52, 1995. 52(9): p. 6358-6380. 12. K.L. Ngai, Y. Wang, and C.T. Moynihan, "The Mixed alkali effect revisited : importance of ion interactions". Journal of Non-Crystalline, 2002. 307-310: p. 999-1011. 13. J. Habasaki and Y. Hiwatari, "Fast and slow dynamics in single and mixed alkali silicate glasses". Journal of Non-Crystalline 320, 2002. 1-3: p. 281-290. 14. K.J. Rao and S. Balasubramanian, "A molecular dynamics study of the mixed alkali effect in silicate glasses". Journal of Non-Crystalline Solids, 1995. 181(1): p. 157-174. 15. G.N. Greaves, "Structure studies of the mixed alkali effect in disilicate glasses". Solid State Ionics, 1998. 105(1-4): p. 243-248. 16. P. Maass, A. Bunde, and M.D. Ingram, "Ion transport anomalies in glasses". Phys. Rev. Lett. 68, 1995: p. 3064-3067. 17. cclrc. The DL_POLY molecular simulation package. [cited. 18. B. Vessal, et al., "Physics of condensed matter : Statistical mechanics, electronics, optical and magnetic properties". Philosophical Magazine B 60, 1989. 6: p. 753-775. 19. D.J. Costello, et al., "Application of error-contol coding". IEEE Transactions on Information Theory, 2004. 44(6): p. 2531-2560. 20. H. Ren, et al. "Fault diagnosis for substation automation based on Petri nets and coding theory". in Power Engineering Society General Meeting,. 2004. 21. O. Milenkovic. "Analysis of bin model with applications in coding theory". in International Symposium on Information Theory, 2004. ISIT 2004. 2004. 22. D.K. Pradhan. "Logic transformation and coding theory-based frameworks for Boolean satisfiability". in Eighth IEEE International High-Level Design Validation and Test Workshop, 2003. . 2003. 23. A. Fujiwara and H. Nagaoka, "Operational Capacity and pseudoclassicality of quantum channel". IEEE Transactions on Information Theory, 1998. 44(3): p. 1071 - 1086. 24. D.A. Spielman. "models of computation in coding theory". in Thirteenth Annual IEEE Conference on Computational Complexity,. 1998. 25. J. Rosenthal. "Some interesting problems in systems theory which are of fundamental importance in coding theory". in Proceedings of the 36th IEEE Conference on Decision and Control. 1997. 26. R. Srinivasan, S.K. Gupta, and M.A. Breuer, "Novel test pattern generators for pseudoexhaustive testing". IEEE Transactions on Computers, 2000. 49(11): p. 1228 - 1240. 27. T. Berger and V.I. Levenshtein, "Asymptotic efficiency of two-stage disjunctive testing". IEEE Transactions on Information Theory, 2002. 48(7): p. 1741 - 1749. 28. Silverberg, J. Staddon, and J.L. Walker, "Applications of list decoding to tracing traitors". IEEE Transactions on Information Theory, 2003. 49(5). 29. M.A. Jabri, et al. "properties of independent components of self-motion optical flow". in 30th IEEE International Symposium on Multiple-Valued Logic, 2000. (ISMVL 2000) Proceedings. 2000. 30. S.D. Howard and A.R. Calderbank. "relationships between radar ambiguity and coding theory". in IEEE International Conference on Acoustics, Speech, and Signal Processing, 2005. Proceedings. (ICASSP '05). 2005. 31. J.-H. Youn and B. Bose, "A Topology-Independent Transmission scheduling in Multihop Packet Radio Networks". Global Telecommunications Conference, 2001. GLOBECOM '01. IEEE 2001. 3: p. 1918 - 1922 International Journal of Computer Science and Security, Volume (1): Issue (2) 33
  • 38. J. M. Sharif, M. S. A. Latiff & M. A. Ngadi 32. L. Ying. "Fractals, neural networks, cellular automata, formal language and coding theory". in IEEE International Conference on Systems, Man and Cybernetics. 1992. 33. J.C. Kieffer, "Sample converses in source coding theory". IEEE Transactions on Information Theory, 1991. 37(2): p. 263 - 268. 34. T. Ishikawa, "Hypercube multiprocessors with bus connections for improving communication performance". IEEE Transactions on Computers, 1995. 44(11): p. 1338 - 1344. 35. A. Vardy, "the intractability of computing the minimum distance of the code". IEEE Transactions on Information Theory, 1997. 43(6): p. 1757 - 1766. 36. A. Garcia and H. Stichtenoth, "algebraic function fields over finite fields with many rational places". IEEE Transactions on Information Theory, 1995. 41(6): p. 1548 - 1563. 37. E.M. Rains, "shadow bounds for self-dual codes". IEEE Transactions on Information Theory, 1998. 44(1): p. 134 - 139. 38. M. Lee, L.D. Floriani, and H. Samet, "Constant-Time Neighbour Finding in Hierarchical Tetrahedral Meshes". Proceedings of the Shape Modeling International 2001 (SMI'01), 2001: p. 286-295. 39. W. Evans, D. Kirkpatrick, and G. Townsend, "Right-triangulated irregular networks". Algorithmica, 2001. 30(2): p. 264-286. 40. Y. Zhou, B. Chen, and A. Kaufman. "Multiresolution tetrahedral framework for visualizing regularvolume data". in Proceedings of Conference on Computer Graphics(VISUALIZATION 97). 1997. 41. T. Gerstner and M. Rumpf, "Multiresolutional Parallel Isosurface Extraction based on Tetrahedral Bisection ". In Proceedings 1999 Symposium on Volume Visualization, ACM Press, 1999. 42. T. Tzouramanis, M. Vassilakopoulos, and Y. Manolopoulos, "Multiversion Linear Quadtree for Spatio- Temporal Data". ADBIS: East European Symposium on Advances in Databases and Information Systems, 2001: p. 279-292. 43. F.B. Atalay and D.M. Mount. "Pointerless Implementation of Hierarchical Simplicial Meshes and Efficient Neighbor Finding in Arbitrary Dimensions". in Proc. International Meshing Roundable (IMR 2004). 2004. 44. I. Gargantini, "An Effective Way to Represent Quadtrees". Communications of the ACM 1982. 25(12): p. 905-910. 45. S.-X. Li and M.H. Loew, "Adjacency Detection Using Quadcodes". Communications of the ACM 1987. 30(7): p. 627-631. 46. M.A. Ouksel, and Yaagoub, A., "The Interpolation-based bintree and encoding of binary images". CVGIP:Graphical Models and Image Processing, 1992. 54(1): p. 75-81. 47. S.-H. Lin, et al., "An efficient ,ethod for obtaining the level of the bincode". CVGIP:Graphical Models and Image Processing, 2003: p. 773-777. 48. D. Sarkar, "Boolean function-based approach for encoding of binary images". Pattern Recognit. Lett., 1996. 17(8): p. 839-848. 49. D. Sarkar, "Operation on binary images encoded as minimized boolean functions". Pattern Recognit. Lett., 1997. 18: p. 455-463. 50. J.-G. Wu and K.-L. Chung, "A New Binary Image Representation : Logicodes". Journal of Visual Communication and Image Representation, 1997. 8(3): p. 291-298. 51. D.J. Hebert, "Symbolic Local Refinement of Tetrahedral Grids". Journal of Symbolic Computation, 1994. 17(5): p. 457-472. 52. J.M.Sharif, M.A.Ngadi, and M.S.A.Latiff. "Colour Number Coding Scheme for Time-Varying Visualisation in Glassy Ion Trajectories". in MMU International Symposium on Information and Communication Technologies. 2006. Malaysia. 53. S. Roman, "Introduction to coding theory and information theory". 1996, Springer-Verlag, New York, Berlin, Heildelberg: Springer Verlag. 54. R. Hill, "A First Course in Coding Theory". 1991, Ipswich Book Company, Ipswich, UK: Oxford University Press. 55. S. Ling and C. Xing, "Coding Theory : A First Course". 2004, The Edinburgh Building, Cambridge, CB2 2RU, UK: Cambridge University Press. International Journal of Computer Science and Security, Volume (1): Issue (2) 34